Submission #131936

#TimeUsernameProblemLanguageResultExecution timeMemory
131936junodeveloperCave (IOI13_cave)C++14
0 / 100
1028 ms516 KiB
#include "cave.h" #include <bits/stdc++.h> using namespace std; int S[5010], D[5010], rev[5010]; int Try() { return tryCombination(S); } void exploreCave(int N) { memset(D, -1, sizeof(D)); int s = 0, x, B, idx, tmp; while(1) { idx = Try(); if(idx != -1) x = idx - s + 1; else x = N - s; B = sqrt((N - s) / x); vector<int> a; for(int i=0; i<N; i++) { if(D[i] == -1) { a.push_back(i); if(a.size() == B) { for(auto& j : a) S[j] ^= 1; tmp = Try(); if(idx != tmp) { for(auto& j : a) S[j] ^= 1; for(auto& j : a) { S[j] ^= 1; int t = Try(); if(t < idx || idx == -1) { rev[t] = j; D[j] = t; } else if(idx < t) { rev[idx] = j; D[j] = idx; } } for(auto& j : a) S[j] ^= 1; } for(auto& j : a) S[j] ^= 1; a.clear(); } } } } answer(S, D); }

Compilation message (stderr)

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:20:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if(a.size() == B) {
        ~~~~~~~~~^~~~
#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...