#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;
}
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?)
Post a Comment