Submission #985099

#TimeUsernameProblemLanguageResultExecution timeMemory
985099user736482Cave (IOI13_cave)C++17
0 / 100
328 ms560 KiB
#include<bits/stdc++.h> #include<cave.h> using namespace std; int result[5000],match[5000],sent[5000]; bool iflastopen,fixed_[5000]; int N; void change(int a, int b, int c){ for(int i=0;i<a;i++){ if(!fixed_[i]) sent[i]= !c; } for(int i=a;i<=b;i++){ if(!fixed_[i]) sent[i]= c; } for(int i=b+1;i<N;i++){ if(!fixed_[i]) sent[i]= !c; } } void exploreCave(int n){ N = n; for(int j=0;j<n;j++){ change(0,n-1,1); if(tryCombination(sent)>j) iflastopen=1; else iflastopen=0; int pocz=0; int kon=n-1; while(pocz!=kon){ int sr=(pocz+kon)/2; change(pocz,sr,iflastopen); int ak=tryCombination(sent); if(ak > j) { kon=sr; } else{ pocz=sr+1; } } sent[pocz] = iflastopen; match[j]=pocz; fixed_[pocz]=1; } answer(sent,match); }
#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...