Submission #234125

#TimeUsernameProblemLanguageResultExecution timeMemory
234125tinjyuCave (IOI13_cave)C++14
100 / 100
1114 ms760 KiB
#include "cave.h" #include <iostream> #include <vector> using namespace std; long long int n,tag[100005]; bool tmpans[10005]; int ans[10005]; int find(int x) { int con[n]; for(int i=0;i<n;i++) { if(tag[i]==0)con[i]=0; else con[i]=tmpans[i]; } //cout<<x<<endl; long long int c=tryCombination(con); //cout<<c<<endl; long long int mid,l=0,r=n-1,p; while(l<=r) { for(int i=0;i<n;i++) { if(tag[i]==0)con[i]=0; } mid=(l+r)/2; for(int i=l;i<=mid;i++) { if(tag[i]==0)con[i]=1; } long long int tmp=tryCombination(con); //cout<<l<<" "<<mid<<endl; //for(int i=0;i<n;i++)cout<<con[i]<<" "; //cout<<tmp<<endl; if(c==x) { if(tmp==x) { l=mid+1; } else { r=mid-1; p=mid; } } else { if(tmp==x) { r=mid-1; p=mid; } else l=mid+1; } } //cout<<p<<endl; tag[p]=1; ans[p]=x; if(c==x) { tmpans[p]=1; } else tmpans[p]=0; } void exploreCave(int N) { n=N; for(int i=0;i<n;i++) { find(i); } int ans1[n]; int ans2[n]; for(int i=0;i<n;i++)ans1[i]=tmpans[i]; for(int i=0;i<n;i++)ans2[i]=ans[i]; answer(ans1,ans2); }

Compilation message (stderr)

cave.cpp: In function 'int find(int)':
cave.cpp:65:1: warning: no return statement in function returning non-void [-Wreturn-type]
 }
 ^
cave.cpp:62:12: warning: 'p' may be used uninitialized in this function [-Wmaybe-uninitialized]
   tmpans[p]=1;
   ~~~~~~~~~^~
#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...