# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1245243 | Martincho506 | Cave (IOI13_cave) | C++20 | 1 ms | 320 KiB |
#include "cave.h"
#include<iostream>
using namespace std;
const int MAXN = 5007;
int connected[MAXN];
int a[MAXN], first;
int f(int l, int r)
{
if(l == r)
{
connected[l] = first+1;
return l;
}
int mid = (l+r)/2;
for(int i = l; i <= r; i++)
{
if(connected[i] == -1) a[i] = 0;
}
for(int i = l; i <= mid; i++)
{
if(connected[i] == -1) a[i] = 1;
}
int nfirst = tryCombination(a);
if(nfirst > first) r = mid;
else l = mid+1;
f(l, r);
}
void exploreCave(int n)
{
for(int i = 0; i < n; i++)
{
a[i] = 0;
}
first = tryCombination(a);
while(first != n-1)
{
int idx = f(0, n-1);
first = idx;
}
answer(a, connected);
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |