Advertisement
Saleh127

UVA 12376

Jun 22nd, 2021
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. #define test int t; cin>>t; for(int cs=1;cs<=t;cs++)
  5. vector<ll>g[20000];
  6. ll a[20000];
  7. ll v[20000];
  8. ll x,y;
  9.  
  10. void dfs(ll in)
  11. {
  12. if(v[in]) return;
  13.  
  14. v[in]=1;
  15. x+=a[in];
  16. ll l=0,z=-1;
  17.  
  18. for(ll i=0;i<g[in].size();i++)
  19. {
  20. if(v[g[in][i]]==0)
  21. {
  22. if(a[g[in][i]]>l)
  23. {
  24. l=a[g[in][i]];
  25. z=g[in][i];
  26. }
  27. }
  28. }
  29.  
  30. if(z==-1) y=in;
  31. else dfs(z);
  32. }
  33.  
  34. int main()
  35. {
  36. ios_base::sync_with_stdio(0);
  37. cin.tie(0);cout.tie(0);
  38.  
  39. test
  40. {
  41. ll n,m,i,j,k,l;
  42. cin>>n>>m;
  43.  
  44. for(i=0;i<n+2;i++)
  45. {
  46. v[i]=0;
  47. g[i].clear();
  48. a[i]=0;
  49. }
  50. x=y=0;
  51.  
  52. for(i=0;i<n;i++) cin>>a[i];
  53.  
  54. for(i=0;i<m;i++)
  55. {
  56. cin>>k>>l;
  57. g[k].push_back(l);
  58. }
  59. dfs(0);
  60.  
  61. cout<<"Case "<<cs<<": "<<x<<" "<<y<<endl;
  62. }
  63.  
  64. return 0;
  65. }
  66.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement