Submission #114509

#TimeUsernameProblemLanguageResultExecution timeMemory
114509tinjyuHighway Tolls (IOI18_highway)C++14
5 / 100
18 ms532 KiB
#include "highway.h" #include <iostream> using namespace std; int m,ans[1000005],tag[105],a,b; int find(int s,int e) { cout<<s<<" "<<e<<endl; std::vector<int> w(m); for(int i=0;i<=m;i++) { w[i] = 0; } for(int i=s;i<=e;i++) { w[i]=1; } int t=ask(w); if(t/(b-a)==e-s+1) { for(int i=s;i<=e;i++) { ans[0]++; ans[ans[0]]=i; } } else if(t==0)return 0; else { find(s,(s+e)/2); find((s+e)/2,e); } } void find_pair(int N, std::vector<int> U, std::vector<int> V, int A, int B) { m = U.size(); a=A; b=B; std::vector<int> w(m); int tmp=ask(w); if(N<=100) { for(int i=0;i<m;i++) { w[i]=1; int t=ask(w); if(t>tmp) { //cout<<i<<" "<<U[i]<<" "<<V[i]<<endl; tag[U[i]]++; tag[V[i]]++; } w[i]=0; } int s=-1,t=-1; for(int i=0;i<N;i++) { if(tag[i]==1) { if(s==-1)s=i; else t=i; } } return answer(s,t); } find(0,m); int s=N+1,t=0; for(int i=1;i<=ans[0];i++) { s=min(ans[i],s); t=max(ans[i]+1,t); } answer(s, t); }

Compilation message (stderr)

highway.cpp: In function 'int find(int, int)':
highway.cpp:32:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...