Submission #650796

#TimeUsernameProblemLanguageResultExecution timeMemory
650796LitusianoCave (IOI13_cave)C++14
13 / 100
1897 ms632 KiB
#include "cave.h" #include<bits/stdc++.h> using namespace std; //#define int long long map<int,int> used; void convert(int (&v)[],int idx, int val){ for(int i = 0; i< idx; i++){ if(used[i]) continue; v[i] = val; } } void exploreCave(int N) { /* ... */ int v[N]; for(int i = 0; i<N; i++){ v[i] = 0; } int s[N]; // Busco combinacio correcte for(int i = 0; i<N; i++){ bool ok = 0; int l = -1; int r = N-1; int val = 0; convert(v,N,0); if(tryCombination(v) == i) val = 1; while(r > l+1){ int m = (l+r)/2; convert(v,m,val); // si s'ha obert, int x = tryCombination(v); if (x == -1){ ok = 1; break; } if(x == i){ //tancat l = m; } else r = m; convert(v,m,val^1); } if(ok) break; used[r] = 1; v[r] = val; } for(int i = 0; i<N; i++){ v[i] ^= 1; s[i] = tryCombination(v); v[i] ^= 1; } answer(v,s); //for(int i = 0; i<N; i++) cout<<v[i]<<" "; cout<<endl; //for(int i = 0; i<N; i++) cout<<s[i]<<" "; cout<<endl; return; }
#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...