Submission #238838

#TimeUsernameProblemLanguageResultExecution timeMemory
238838michaoCave (IOI13_cave)C++14
0 / 100
480 ms512 KiB
#include <bits/stdc++.h> #include "cave.h" #define ll long long int #define mp make_pair #define pb push_back #define ld long double #define pii pair<int,int> #define sz(x) (int)x.size() #define piii pair<pii,pii> #define precise cout<<fixed<<setprecision(10) #define st first #define nd second #define ins insert #define vi vector<int> #define BOOST ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0) using namespace std; const int MAX=5005; int pom[MAX],perm[MAX],arr[MAX]; void get(int n) { for (int i=0;i<n;i++)pom[i]=arr[i]; } void exploreCave(int n) { for (int i=0;i<n;i++)arr[i]=-1,perm[i]=-1; int x=0; for (int door=0;door<n;door++) { get(n); int bit=1; for (int i=0;i<n;i++) if (arr[i]==-1)pom[i]=1; int y=tryCombination(pom); if (y<=x)bit^=1; int ip=-1,ik=n-1; while (ip+1<ik) { int mid=(ip+ik)>>1; get(n); for (int i=0;i<=mid;i++) if (arr[i]==-1)pom[i]=bit; y=tryCombination(pom); if (y>x)ik=mid; else ip=mid; } perm[ip+1]=door,arr[ip+1]=bit; x++; } answer(arr,perm); }
#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...