Submission #648588

#TimeUsernameProblemLanguageResultExecution timeMemory
648588a_aguiloCave (IOI13_cave)C++14
0 / 100
68 ms424 KiB
#include "cave.h"
#include<bits/stdc++.h>

using namespace std;

int n;

void applyChanges(int combo[], int l, int r, int setInterrup, int preRequisites[]){
    for(int i = l; i <= r; ++i) combo[i] = setInterrup;
    for(int i = 0; i < n;++i){
        if(preRequisites[i] != -1) combo[i] == preRequisites[i];
    }
}

void exploreCave(int N) {
    /* ... */
    //answer(switches, correspondence)
    n = N;
    int setInterruptors[N];
    memset (setInterruptors, -1, sizeof(setInterruptors));
    int yourInterruptor[N];
    for(int door = 0; door < N; ++door){
        int lo = 0; int hi = N-1;
        int InterruptVal;
        int combo[N];
        memset (combo, 0, sizeof(combo));
        applyChanges(combo, 0, 0, 0, setInterruptors);
        int ans = tryCombination(combo);
        InterruptVal = 0;
        if(ans == -1 or ans > door) InterruptVal = 0;
        else InterruptVal = 1;
        int pos = 0;
        while(lo <= hi){
            int mid = lo + (hi - lo)/2;
            memset(combo, InterruptVal^1, sizeof(combo));
            applyChanges(combo, lo, mid, InterruptVal, setInterruptors);
            ans = tryCombination(combo);
            if(ans == -1 or ans > door){
                hi = mid-1;
                pos = mid;
            }
            else lo = mid+1;
        }
        yourInterruptor[door] = pos;
        setInterruptors[pos] = InterruptVal;
    }
    answer(setInterruptors, yourInterruptor);
}

Compilation message (stderr)

cave.cpp: In function 'void applyChanges(int*, int, int, int, int*)':
cave.cpp:11:45: warning: statement has no effect [-Wunused-value]
   11 |         if(preRequisites[i] != -1) combo[i] == preRequisites[i];
      |                                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~
#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...