Submission #641144

#TimeUsernameProblemLanguageResultExecution timeMemory
641144knon0501Finding Routers (IOI20_routers)C++14
70.13 / 100
2 ms340 KiB
#include "routers.h"
#include <bits/stdc++.h>;
using namespace std;

std::vector<int> find_routers(int l, int n, int q) {
    vector<int> ans={0};
    int cnt=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;
            if (cnt == q)
                exit(1);
            int x=use_detector(mid);
            cnt++;
            
            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:16:24: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   16 |             int mid=lef+rig>>1;
      |                     ~~~^~~~
routers.cpp:32:24: warning: 'k' may be used uninitialized in this function [-Wmaybe-uninitialized]
   32 |         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...