# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
314786 |
2020-10-21T07:47:56 Z |
shafinalam |
Cave (IOI13_cave) |
C++14 |
|
645 ms |
760 KB |
#include "cave.h"
void exploreCave(int N)
{
int s[N], d[N];
int vis[N] = {0};
for(int i = 0; i < N; i++)
{
if(vis[i]) continue;
int cur = 0;
int got = -1;
int tmp[N];
for(int i = 0; i < N; i++)
{
if(vis[i]) tmp[i] = s[i];
else tmp[i] = cur;
}
int p = tryCombination(tmp);
if(p>=i) cur = 0;
else cur = 1;
for(int i = 0; i < N; i++)
{
if(vis[i]) tmp[i] = s[i];
else tmp[i] = cur;
}
int lo = 0, hi = N-1;
while(lo<=hi)
{
int mid = (lo+hi)>>1;
for(int r = 0; r < N; r++)
{
if(r>=lo && r<=mid) continue;
if(vis[r]) continue;
tmp[r] = 1-cur;
}
p = tryCombination(tmp);
if(p>=i)
{
got = mid;
hi = mid-1;
}
else
{
for(int j = lo; j <= mid; j++) tmp[j] = 1-cur;
for(int j = mid+1; j <= hi; j++) tmp[j] = cur;
lo = mid+1;
}
}
s[i] = cur;
d[i] = got;
}
answer(s, d);
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
258 ms |
504 KB |
Answer is wrong |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
645 ms |
760 KB |
Answer is wrong |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
1 ms |
256 KB |
Answer is wrong |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
1 ms |
256 KB |
Answer is wrong |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
258 ms |
504 KB |
Answer is wrong |
2 |
Halted |
0 ms |
0 KB |
- |