Submission #641291

#TimeUsernameProblemLanguageResultExecution timeMemory
641291knon0501Finding Routers (IOI20_routers)C++14
77.94 / 100
2 ms724 KiB
#include "routers.h" #include <bits/stdc++.h>; using namespace std; int memo[100005]; std::vector<int> find_routers(int l, int n, int q) { vector<int> ans={0}; // cout<<l<<" "<<n<<" "<<q<<endl; for(int i=1 ; i<n ; i++){ int lef=ans[i-1]+1; int rig=l; int k; while ((rig>=lef)) { int mid=lef+rig>>1; int x; if(memo[mid]){ x=memo[mid]; } else x=use_detector(mid); memo[mid]=x; if(x<=i-1){ k=mid; lef=mid+1; } else{ rig=mid-1; } } ans.push_back(2*k-ans[i-1]); // cout<<i<<" "<<ans[i]<<"!\n"; } return ans; }

Compilation message (stderr)

routers.cpp:2:25: warning: extra tokens at end of #include directive
    2 | #include <bits/stdc++.h>;
      |                         ^
routers.cpp: In function 'std::vector<int> find_routers(int, int, int)':
routers.cpp:17:24: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   17 |             int mid=lef+rig>>1;
      |                     ~~~^~~~
routers.cpp:35:24: warning: 'k' may be used uninitialized in this function [-Wmaybe-uninitialized]
   35 |         ans.push_back(2*k-ans[i-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...