12376

#include <iostream>
#include <vector>
#include <queue>

using namespace std;

int value[104];
vector<int> vb[104];
int visit[104];
queue<int> ue;
int learned;
int _next;


int findAns(int a)
{

	int _max=0;
	if(vb[a].size()==0)
	{
		_next=a;
		//learned+=value[a];
		return 0;
	}
	else
	{

		for(int i=0;i<vb[a].size();i++)
		{
			if(value[i]]>_max)
			{
				_max=value[i]];
				_next=vb[a][i];
			}
		}
		learned+=_max;
		return findAns(_next);
	}
	return 0;
}
int main()
{
	int t,n,m;
	int a,b,c=1;

	cin>>t;

	while(t--)
	{
		cin>>n>>m;

		for(int i=0;i<n;i++)
		{
			cin>>value[i];
			vb[i].clear();
			visit[i]=0;
		}
		for(int i=0;i<m;i++)
		{
			cin>>a>>b;
			vb[a].push_back(b);
		}

		learned=0;
		learned+=value[0];
		findAns(0);
		cout<<"Case "<<c++<<": ";
		cout<<learned<<" "<<_next<<"\n";

	}

	return 0;
}

 

Leave a Reply

Your email address will not be published. Required fields are marked *