# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
71993 | 2018-08-26T04:32:08 Z | (#2175, xdoju, kazel, pps789) | Magic Dowsing (FXCUP3_magic) | C++17 | 3 ms | 376 KB |
#include"dowsing.h" #include<vector> using namespace std; void FindTreasure(int N){ vector<int> v(N+1); for(int i=1;i<N;i++) v[i] = Detect(i,i); int dc = 0; for(int i=1;i<N;i++) if(v[i]) dc++; if(dc==1) v[N] = 1, dc++; if(dc==2){ int x,y; for(int i=1;i<=N;i++) if(v[i]){ x=i; break; } for(int i=x+1;i<=N;i++) if(v[i]){ y=i; break; } int other; for(int i=1;i<=N;i++) if(i!=x&&i!=y) other=i; if(Detect(x,other)) Report(x,y); else Report(y,x); return; } else{ for(int i=1;i<N;i+=2){ if(Detect(i,i+1)){ int other = -1; for(int j=1;j<=N;j++) if(j!=i&&j!=i+1) other=j; if(Detect(i,other)) Report(i,i); else Report(i+1,i+1); return; } } Report(N,N); } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 256 KB | Correct : C = 4 |
2 | Correct | 2 ms | 256 KB | Correct : C = 3 |
3 | Correct | 3 ms | 348 KB | Correct : C = 148 |
4 | Correct | 3 ms | 376 KB | Correct : C = 99 |
5 | Correct | 3 ms | 376 KB | Correct : C = 150 |
6 | Correct | 3 ms | 376 KB | Correct : C = 100 |
7 | Correct | 3 ms | 376 KB | Correct : C = 148 |
8 | Correct | 3 ms | 348 KB | Correct : C = 150 |
9 | Correct | 3 ms | 376 KB | Correct : C = 150 |
10 | Correct | 3 ms | 376 KB | Correct : C = 150 |
11 | Correct | 3 ms | 376 KB | Correct : C = 149 |
12 | Correct | 3 ms | 376 KB | Correct : C = 148 |