# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
357295 | 2021-01-24T03:51:57 Z | daniel920712 | Parachute rings (IOI12_rings) | C++14 | 4000 ms | 44804 KB |
#include <stdio.h> #include <stdlib.h> #include <vector> using namespace std; int N; int who; vector < int > Next[1000005]; int deg[1000005]; int big[1000005]; int con[1000005]; int tt=0; bool have[1000005]; int ok=1; void Init(int N_) { N = N_; } void Link(int A, int B) { Next[A].push_back(B); Next[B].push_back(A); if(deg[A]==2) { tt++; con[B]++; } if(deg[A]==3) con[B]--; if(deg[B]==2) { tt++; con[A]++; } if(deg[B]==3) con[A]--; deg[A]++; deg[B]++; big[A]=max(big[A],deg[B]); big[B]=max(big[B],deg[A]); } void F(int here) { int t=0; have[here]=1; for(auto i:Next[here]) if(!have[i]&&i!=who) F(i); } int CountCritical() { int ans=0; int i,j; for(i=0;i<N;i++) { ok=1; who=i; if(tt-con[i]-(deg[i]>=3)) continue; for(auto j:Next[i]) deg[j]--; if(ok) { for(j=0;j<N;j++) have[j]=0; have[i]=1; for(j=0;j<N;j++) { if(deg[j]==0) have[j]=1; if(deg[j]==1&&!have[j]) F(j); if(deg[j]>=3&&i!=j) ok=0; } for(j=0;j<N;j++) if(!have[j]) ok=0; } for(auto j:Next[i]) deg[j]++; ans+=ok; } return ans; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 17 ms | 23788 KB | Output is correct |
2 | Correct | 20 ms | 24044 KB | Output is correct |
3 | Correct | 20 ms | 24044 KB | Output is correct |
4 | Correct | 36 ms | 23916 KB | Output is correct |
5 | Correct | 193 ms | 24044 KB | Output is correct |
6 | Correct | 658 ms | 24172 KB | Output is correct |
7 | Correct | 18 ms | 24064 KB | Output is correct |
8 | Correct | 147 ms | 24044 KB | Output is correct |
9 | Incorrect | 24 ms | 24044 KB | Output isn't correct |
10 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 4048 ms | 44804 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 17 ms | 23788 KB | Output is correct |
2 | Correct | 20 ms | 24044 KB | Output is correct |
3 | Correct | 20 ms | 24044 KB | Output is correct |
4 | Correct | 36 ms | 23916 KB | Output is correct |
5 | Correct | 193 ms | 24044 KB | Output is correct |
6 | Correct | 658 ms | 24172 KB | Output is correct |
7 | Correct | 18 ms | 24064 KB | Output is correct |
8 | Correct | 147 ms | 24044 KB | Output is correct |
9 | Incorrect | 24 ms | 24044 KB | Output isn't correct |
10 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 17 ms | 23788 KB | Output is correct |
2 | Correct | 20 ms | 24044 KB | Output is correct |
3 | Correct | 20 ms | 24044 KB | Output is correct |
4 | Correct | 36 ms | 23916 KB | Output is correct |
5 | Correct | 193 ms | 24044 KB | Output is correct |
6 | Correct | 658 ms | 24172 KB | Output is correct |
7 | Correct | 18 ms | 24064 KB | Output is correct |
8 | Correct | 147 ms | 24044 KB | Output is correct |
9 | Incorrect | 24 ms | 24044 KB | Output isn't correct |
10 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 17 ms | 23788 KB | Output is correct |
2 | Correct | 20 ms | 24044 KB | Output is correct |
3 | Correct | 20 ms | 24044 KB | Output is correct |
4 | Correct | 36 ms | 23916 KB | Output is correct |
5 | Correct | 193 ms | 24044 KB | Output is correct |
6 | Correct | 658 ms | 24172 KB | Output is correct |
7 | Correct | 18 ms | 24064 KB | Output is correct |
8 | Correct | 147 ms | 24044 KB | Output is correct |
9 | Incorrect | 24 ms | 24044 KB | Output isn't correct |
10 | Halted | 0 ms | 0 KB | - |