Submission #314786

# Submission time Handle Problem Language Result Execution time Memory
314786 2020-10-21T07:47:56 Z shafinalam Cave (IOI13_cave) C++14
0 / 100
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 -