Submission #1245243

#TimeUsernameProblemLanguageResultExecution timeMemory
1245243Martincho506Cave (IOI13_cave)C++20
0 / 100
1 ms320 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)

cave.cpp: In function 'int f(int, int)':
cave.cpp:28:6: warning: control reaches end of non-void function [-Wreturn-type]
   28 |     f(l, r);
      |     ~^~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...