Cod sursa(job #1692476)
| Utilizator | Data | 20 aprilie 2016 22:11:58 | |
|---|---|---|---|
| Problema | Asmax | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.62 kb |
#include <iostream>
#include<fstream>
using namespace std;
int tt[16005],best[16005],mx,i,n,a,b,x;
int main()
{
ifstream f("asmax.in");
ofstream g("asmax.out");
f>>n;
mx=-(1<<30);
for(i=1;i<=n;i++)
{
f>>best[i];
tt[i]=i;
}
for(i=1;i<=n-1;i++)
{
f>>a>>b;
tt[b]=a;
}
for(i=1;i<=n;i++)
{
x=i;
for(;x!=tt[x]&&best[x]>0;)
{
best[tt[x]]+=best[x];
if(best[tt[x]]>mx) mx=best[tt[x]];
x=tt[x];
}
}
g<<mx;
return 0;
}
