Submission #992902

#TimeUsernameProblemLanguageResultExecution timeMemory
992902RifalCave (IOI13_cave)C++14
0 / 100
2 ms348 KiB
#include "cave.h"
#include <bits/stdc++.h>
using namespace std;
void exploreCave(int N) {
    int now[N] = {};
    int S[N];
    for(int i = 0; i < N; i++) S[i] = -1;
    int D[N] = {};
    int x = tryCombination(now);
    for(int i = 0; i < N; i++) {
        int l = 0, r = N-1;
        for(int j = 0; j < N; j++) {
            if(S[j] == -1) now[j] = -1;
            else now[j] = S[j];
        }
        if(i == x) {
            while(l <= r) {
            int mid = (l+r)/2;
            vector<int> v;
            for(int  j = l; j <= mid; j++) {
                if(now[j] == -1) {
                    v.push_back(j);
                    now[j] = 1;
                }
            }
            x = tryCombination(now);
            if(x == i) {
                l = mid+1;
            }
            else {
                r = mid;
            }
            for(int j = 0; j < v.size(); j++) {
                now[v[j]] = -1;
            }
        }   
        S[l] = 0;
        D[i] = l;
        }
        else {
        while(l <= r) {
            int mid = (l+r)/2;
            vector<int> v;
            for(int  j = l; j <= mid; j++) {
                if(now[j] == -1) {
                    v.push_back(j);
                    now[j] = 1;
                }
            }
            x = tryCombination(now);
            if(x != i) {
                l = mid+1;
            }
            else {
                r = mid;
            }
            for(int j = 0; j < v.size(); j++) {
                now[v[j]] = -1;
            }
        }
        S[l] = 1;
        D[i] = l;
        }  
    }
    answer(S,D);
}

Compilation message (stderr)

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:33:30: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   33 |             for(int j = 0; j < v.size(); j++) {
      |                            ~~^~~~~~~~~~
cave.cpp:57:30: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   57 |             for(int j = 0; j < v.size(); j++) {
      |                            ~~^~~~~~~~~~
#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...