Borderou de evaluare (job #3003853)

Utilizator Summer05Cocut Alexandru Summer05 Data 15 martie 2023 23:07:37
Problema Concurs Status done
Runda Arhiva de probleme Compilator cpp-64 | Vezi sursa
Scor 100

Raport evaluator

Compilare: main.cpp: In function 'int main()': main.cpp:2:815: warning: 'er' may be used uninitialized in this function [-Wmaybe-uninitialized] 2 | using namespace std;fstream f("concurs.in",ios::in), g("concurs.out",ios::out);int p[35002],a[35002],b[35002],t[35002][16],n,m,x,y,r,c,d;vector<int> e[35002];void dfs(int x){a[x]=++d;for(int y:e[x])dfs(y);b[x]=++d;}bool is_ancestor(int x,int y){return(a[x]<=a[y]&&b[y]<=b[x]);}int lca(int x,int y){if(is_ancestor(x,y))return x;if(is_ancestor(y,x))return y;for(int i=15; i>=0;i--)if (!is_ancestor(t[x][i],y))x=t[x][i];return t[x][0];}int main(){f>>n>>m;for(int i=1;i<=n;i++)f>>p[i];for(int i=2;i<=n;i++){f>>x>>y;t[y][0]=x;e[x].push_back(y);}for (int i=1;i<=n;i++)if(!t[i][0])r=i;for (int j=1;j<=15;j++)for (int i=1;i<=n;i++){t[i][j]=t[t[i][j-1]][j-1];if(!t[i][j])t[i][j]=r;}dfs(r);int an=0,sw,er;while(m--){f>>x>>y;int c=p[lca(x,y)];if(an<c||(an==c&&x<sw)||(an==c&&x==sw&&y<er))an=c,sw=x,er=y;}g<<an<<' '<<sw<<' '<<er;} | ^~ main.cpp:2:810: warning: 'sw' may be used uninitialized in this function [-Wmaybe-uninitialized] 2 | using namespace std;fstream f("concurs.in",ios::in), g("concurs.out",ios::out);int p[35002],a[35002],b[35002],t[35002][16],n,m,x,y,r,c,d;vector<int> e[35002];void dfs(int x){a[x]=++d;for(int y:e[x])dfs(y);b[x]=++d;}bool is_ancestor(int x,int y){return(a[x]<=a[y]&&b[y]<=b[x]);}int lca(int x,int y){if(is_ancestor(x,y))return x;if(is_ancestor(y,x))return y;for(int i=15; i>=0;i--)if (!is_ancestor(t[x][i],y))x=t[x][i];return t[x][0];}int main(){f>>n>>m;for(int i=1;i<=n;i++)f>>p[i];for(int i=2;i<=n;i++){f>>x>>y;t[y][0]=x;e[x].push_back(y);}for (int i=1;i<=n;i++)if(!t[i][0])r=i;for (int j=1;j<=15;j++)for (int i=1;i<=n;i++){t[i][j]=t[t[i][j-1]][j-1];if(!t[i][j])t[i][j]=r;}dfs(r);int an=0,sw,er;while(m--){f>>x>>y;int c=p[lca(x,y)];if(an<c||(an==c&&x<sw)||(an==c&&x==sw&&y<er))an=c,sw=x,er=y;}g<<an<<' '<<sw<<' '<<er;} | ^~~
Test Timp executie Memorie folosita Mesaj Punctaj/test
10ms184kbOK10
20ms184kbOK10
30ms184kbOK10
44ms1363kbOK10
50ms184kbOK10
65ms1888kbOK10
7103ms5312kbOK10
814ms2945kbOK10
9128ms3796kbOK10
10193ms3878kbOK10
Punctaj total100

Ceva nu functioneaza?