Submission #307717

#TimeUsernameProblemLanguageResultExecution timeMemory
307717urd05Finding Routers (IOI20_routers)C++14
77.74 / 100
2 ms776 KiB
#include "routers.h" #include <bits/stdc++.h> using namespace std; int val[100001]; int func(int x) { if (val[x]!=-1) { return val[x]; } return val[x]=use_detector(x); } vector<int> find_routers(int l, int n, int q) { memset(val,-1,sizeof(val)); vector<int> ret(n); int st=0; vector<int> cut; for(int i=0;i<n-1;i++) { int lo=st; int hi=l; while (lo+1<hi) { int mid=(lo+hi)/2; if (func(mid)==i) { lo=mid; } else { hi=mid; } } cut.push_back(lo); st=hi; } ret[0]=0; for(int i=1;i<n;i++) { ret[i]=cut[i-1]+cut[i-1]-ret[i-1]; } return ret; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...