#651
SumSubMax
Se dă vectorul de tați al unui arbore cu rădăcină cu n
noduri. Fiecare nod al arborelui are asociată o valoare numerică întreagă. Determinați nodurile p
din arbore pentru care suma valorilor asociate nodurilor din subarborele cu rădăcina în p
este maximă.
Problema | SumSubMax | Operații I/O |
sumsubmax.in /sumsubmax.out
|
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #15186822 | Utilizator | |
Fișier | sumsubmax.cpp | Dimensiune | 485 B |
Data încărcării | 03 Aprilie 2019, 21:31 | Scor / rezultat | Eroare de compilare |
sumsubmax.cpp:3:1: error: 'intn' does not name a type intn,k,x,tata[101],nr,nrr,v[101],val[101],r,mx,t,s[101],c; ifstream f("sumsubmax.in"); ofstream g("sumsubmax.out"); ^ sumsubmax.cpp: In function 'void df(int)': sumsubmax.cpp:4:24: error: 'val' was not declared in this scope void df(int x) { int c=val[x]; for(int i=1; i<=n; i++) if(tata[i]==x) { df(i); c+=s[i]; } s[x]=c; } int main() { f>>n; for(int i=1; i<=n; i++) { f>>tata[i]; if(!tata[i]) r=i; } for(int i=1; i<=n; i++) f>>val[i]; df(r); for(int i=1; i<=n; i++) if(s[i]>mx) mx=s[i]; for(int i=1; i<=n; i++) if(s[i]==mx) g<<i<<" "; return 0; } ^ sumsubmax.cpp:4:48: error: 'n' was not declared in this scope void df(int x) { int c=val[x]; for(int i=1; i<=n; i++) if(tata[i]==x) { df(i); c+=s[i]; } s[x]=c; } int main() { f>>n; for(int i=1; i<=n; i++) { f>>tata[i]; if(!tata[i]) r=i; } for(int i=1; i<=n; i++) f>>val[i]; df(r); for(int i=1; i<=n; i++) if(s[i]>mx) mx=s[i]; for(int i=1; i<=n; i++) if(s[i]==mx) g<<i<<" "; return 0; } ^ sumsubmax.cpp:4:59: error: 'tata' was not declared in this scope void df(int x) { int c=val[x]; for(int i=1; i<=n; i++) if(tata[i]==x) { df(i); c+=s[i]; } s[x]=c; } int main() { f>>n; for(int i=1; i<=n; i++) { f>>tata[i]; if(!tata[i]) r=i; } for(int i=1; i<=n; i++) f>>val[i]; df(r); for(int i=1; i<=n; i++) if(s[i]>mx) mx=s[i]; for(int i=1; i<=n; i++) if(s[i]==mx) g<<i<<" "; return 0; } ^ sumsubmax.cpp:4:83: error: 's' was not declared in this scope void df(int x) { int c=val[x]; for(int i=1; i<=n; i++) if(tata[i]==x) { df(i); c+=s[i]; } s[x]=c; } int main() { f>>n; for(int i=1; i<=n; i++) { f>>tata[i]; if(!tata[i]) r=i; } for(int i=1; i<=n; i++) f>>val[i]; df(r); for(int i=1; i<=n; i++) if(s[i]>mx) mx=s[i]; for(int i=1; i<=n; i++) if(s[i]==mx) g<<i<<" "; return 0; } ^ sumsubmax.cpp:4:91: error: 's' was not declared in this scope void df(int x) { int c=val[x]; for(int i=1; i<=n; i++) if(tata[i]==x) { df(i); c+=s[i]; } s[x]=c; } int main() { f>>n; for(int i=1; i<=n; i++) { f>>tata[i]; if(!tata[i]) r=i; } for(int i=1; i<=n; i++) f>>val[i]; df(r); for(int i=1; i<=n; i++) if(s[i]>mx) mx=s[i]; for(int i=1; i<=n; i++) if(s[i]==mx) g<<i<<" "; return 0; } ^ sumsubmax.cpp: In function 'int main()': sumsubmax.cpp:4:117: error: 'n' was not declared in this scope void df(int x) { int c=val[x]; for(int i=1; i<=n; i++) if(tata[i]==x) { df(i); c+=s[i]; } s[x]=c; } int main() { f>>n; for(int i=1; i<=n; i++) { f>>tata[i]; if(!tata[i]) r=i; } for(int i=1; i<=n; i++) f>>val[i]; df(r); for(int i=1; i<=n; i++) if(s[i]>mx) mx=s[i]; for(int i=1; i<=n; i++) if(s[i]==mx) g<<i<<" "; return 0; } ^ sumsubmax.cpp:4:149: error: 'tata' was not declared in this scope void df(int x) { int c=val[x]; for(int i=1; i<=n; i++) if(tata[i]==x) { df(i); c+=s[i]; } s[x]=c; } int main() { f>>n; for(int i=1; i<=n; i++) { f>>tata[i]; if(!tata[i]) r=i; } for(int i=1; i<=n; i++) f>>val[i]; df(r); for(int i=1; i<=n; i++) if(s[i]>mx) mx=s[i]; for(int i=1; i<=n; i++) if(s[i]==mx) g<<i<<" "; return 0; } ^ sumsubmax.cpp:4:171: error: 'r' was not declared in this scope void df(int x) { int c=val[x]; for(int i=1; i<=n; i++) if(tata[i]==x) { df(i); c+=s[i]; } s[x]=c; } int main() { f>>n; for(int i=1; i<=n; i++) { f>>tata[i]; if(!tata[i]) r=i; } for(int i=1; i<=n; i++) f>>val[i]; df(r); for(int i=1; i<=n; i++) if(s[i]>mx) mx=s[i]; for(int i=1; i<=n; i++) if(s[i]==mx) g<<i<<" "; return 0; } ^ sumsubmax.cpp:4:205: error: 'val' was not declared in this scope void df(int x) { int c=val[x]; for(int i=1; i<=n; i++) if(tata[i]==x) { df(i); c+=s[i]; } s[x]=c; } int main() { f>>n; for(int i=1; i<=n; i++) { f>>tata[i]; if(!tata[i]) r=i; } for(int i=1; i<=n; i++) f>>val[i]; df(r); for(int i=1; i<=n; i++) if(s[i]>mx) mx=s[i]; for(int i=1; i<=n; i++) if(s[i]==mx) g<<i<<" "; return 0; } ^ sumsubmax.cpp:4:216: error: 'r' was not declared in this scope void df(int x) { int c=val[x]; for(int i=1; i<=n; i++) if(tata[i]==x) { df(i); c+=s[i]; } s[x]=c; } int main() { f>>n; for(int i=1; i<=n; i++) { f>>tata[i]; if(!tata[i]) r=i; } for(int i=1; i<=n; i++) f>>val[i]; df(r); for(int i=1; i<=n; i++) if(s[i]>mx) mx=s[i]; for(int i=1; i<=n; i++) if(s[i]==mx) g<<i<<" "; return 0; } ^ sumsubmax.cpp:4:247: error: 's' was not declared in this scope void df(int x) { int c=val[x]; for(int i=1; i<=n; i++) if(tata[i]==x) { df(i); c+=s[i]; } s[x]=c; } int main() { f>>n; for(int i=1; i<=n; i++) { f>>tata[i]; if(!tata[i]) r=i; } for(int i=1; i<=n; i++) f>>val[i]; df(r); for(int i=1; i<=n; i++) if(s[i]>mx) mx=s[i]; for(int i=1; i<=n; i++) if(s[i]==mx) g<<i<<" "; return 0; } ^ sumsubmax.cpp:4:252: error: 'mx' was not declared in this scope void df(int x) { int c=val[x]; for(int i=1; i<=n; i++) if(tata[i]==x) { df(i); c+=s[i]; } s[x]=c; } int main() { f>>n; for(int i=1; i<=n; i++) { f>>tata[i]; if(!tata[i]) r=i; } for(int i=1; i<=n; i++) f>>val[i]; df(r); for(int i=1; i<=n; i++) if(s[i]>mx) mx=s[i]; for(int i=1; i<=n; i++) if(s[i]==mx) g<<i<<" "; return 0; } ^ sumsubmax.cpp:4:292: error: 's' was not declared in this scope void df(int x) { int c=val[x]; for(int i=1; i<=n; i++) if(tata[i]==x) { df(i); c+=s[i]; } s[x]=c; } int main() { f>>n; for(int i=1; i<=n; i++) { f>>tata[i]; if(!tata[i]) r=i; } for(int i=1; i<=n; i++) f>>val[i]; df(r); for(int i=1; i<=n; i++) if(s[i]>mx) mx=s[i]; for(int i=1; i<=n; i++) if(s[i]==mx) g<<i<<" "; return 0; } ^ sumsubmax.cpp:4:298: error: 'mx' was not declared in this scope void df(int x) { int c=val[x]; for(int i=1; i<=n; i++) if(tata[i]==x) { df(i); c+=s[i]; } s[x]=c; } int main() { f>>n; for(int i=1; i<=n; i++) { f>>tata[i]; if(!tata[i]) r=i; } for(int i=1; i<=n; i++) f>>val[i]; df(r); for(int i=1; i<=n; i++) if(s[i]>mx) mx=s[i]; for(int i=1; i<=n; i++) if(s[i]==mx) g<<i<<" "; return 0; } ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema SumSubMax face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.