Submission #1252575

#TimeUsernameProblemLanguageResultExecution timeMemory
1252575fahmid_rngFinding Routers (IOI20_routers)C++20
100 / 100
4 ms4168 KiB
#include<bits/stdc++.h> #include "routers.h" using namespace std; std::vector<int> find_routers(int l, int n, int q) { vector<int> p(n),left(n),right(n,l),query(1e6+1,-1); p[0]=0; for(int i=1;i<n;++i){ left[i]=i-1; } for(int i=1;i<n;++i){ left[i]=max(p[i-1]+1,left[i]); while(right[i]-left[i]>1){ int mid=(left[i]+right[i])/2; if(query[mid]==-1){ query[mid]=use_detector(mid); } int q=query[mid]; //if(q==i-1){left[i]=mid;} left[q+1]=mid; //else{right=mid;} for(int j=1;j<=q;++j){ right[j]=mid; } } p[i]=2*left[i]-p[i-1]; } return p; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...