12376 - As Long as I Learn, I Live

#include<bits/stdc++.h>

using namespace std;

int arr[105];

vector<int>mat[105];

int main()
{
    long long test,koyta_node,koyta_edge,i,j,k,end_node,a,x,u,v,sum,maximum;
    cin>>test;
    for(x=1; x<=test; x++)
    {
        cin>>koyta_node>>koyta_edge;

        for(i=0; i<koyta_node; i++)
        {
            cin>>arr[i];
        }

        for(j=0; j<koyta_edge; j++)
        {
            cin>>u>>v;
            mat[u].push_back(v);
        }

        sum=0;
        end_node=0;

        for(i=0; i<koyta_node; i++)
        {
            maximum=0;
            k=end_node;
            for(j=0; j<mat[k].size(); j++)
            {
                if(maximum<arr[mat[k][j]])
                {
                    maximum=arr[mat[k][j]];
                    end_node=mat[k][j];
                }
            }
            sum+=maximum;
        }
        printf("Case %lld: %lld %lld\n",x,sum,end_node);

        for(i=0; i<koyta_node; i++)
        {
            mat[i].clear();
        }
    }
    return 0;
}

0 comments: (+add yours?)