Submission #719170

#TimeUsernameProblemLanguageResultExecution timeMemory
719170TahirAliyevCave (IOI13_cave)C++17
0 / 100
75 ms408 KiB
#include "cave.h"
#include <bits/stdc++.h>
 
using namespace std;
 
void exploreCave(int n){
    int comb[n];
    memset(comb, 0, sizeof(comb));
    int doors[n];
    int s[n];
    vector<int> switches(n);
    for (int i = 0; i < n; i++)
    {
        switches[i] = i;
    }
    for (int i = 0; i < n; i++)
    {
        int a = tryCombination(comb);
        if(a > i || a == -1){
            for (int j = 0; j < switches.size(); j++)
            {
                comb[switches[j]] ^= 1;
            }
        }
        int l = 0, r = switches.size() - 1;
        int ans = 0;
        while(l < r){
            int m = (l + r) / 2;
            for(int j = l; j <= m; j++){
                comb[switches[j]] ^= 1;
            }
            int a = tryCombination(comb);
            for (int j = l; j <= m; j++)
            {
                comb[switches[j]] ^= 1;
            }
            if(a > i || a == -1){
                r = m;
                ans = m;
            }
            else{
                l = m + 1;
                ans = m + 1;
            }
            
        }
        doors[switches[ans]] = i;
        s[i] = switches[ans];
        switches.erase(switches.begin() + ans);
    }
    
    while(true){
        int d = tryCombination(comb);
        if(d == -1) break;
        comb[s[d]] ^= 1;
    }
    answer(comb, doors);
}

Compilation message (stderr)

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:20:31: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   20 |             for (int j = 0; j < switches.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...