Cod sursa(job #2285931)
Utilizator | Data | 19 noiembrie 2018 15:56:40 | |
---|---|---|---|
Problema | Cerere | Scor | 50 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.64 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("cerere.in");
ofstream fout("cerere.out");
int v[100007];
int n;
int b[100007];
int k[100007];
int main()
{
fin>>n;
int x,y,ii;
for(int i=1;i<=n;i++){
fin>>k[i];
}
while(!fin.eof()){
fin>>x>>y;
v[y]=x;
}
for(int i=1;i<=n;i++){
if(!b[i]){
ii=i;
while(k[ii]){
x=k[ii];
for(int j=0;j<x;j++){
ii=v[ii];
}
b[i]++;
}
}
}
for(int i=1;i<=n;i++){
fout<<b[i]<<" ";
}
return 0;
}