Pagini recente » Borderou de evaluare (job #586703) | Borderou de evaluare (job #818281) | Borderou de evaluare (job #2786001) | Borderou de evaluare (job #870585) | Borderou de evaluare (job #3003853)
Borderou de evaluare (job #3003853)
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 |
1 | 0ms | 184kb | OK | 10 |
2 | 0ms | 184kb | OK | 10 |
3 | 0ms | 184kb | OK | 10 |
4 | 4ms | 1363kb | OK | 10 |
5 | 0ms | 184kb | OK | 10 |
6 | 5ms | 1888kb | OK | 10 |
7 | 103ms | 5312kb | OK | 10 |
8 | 14ms | 2945kb | OK | 10 |
9 | 128ms | 3796kb | OK | 10 |
10 | 193ms | 3878kb | OK | 10 |
Punctaj total | 100 |