Submission #1202669

#TimeUsernameProblemLanguageResultExecution timeMemory
1202669mii_sunsetFinding Routers (IOI20_routers)C++20
0 / 100
2097 ms320 KiB
#include "routers.h"
using namespace std;


std::vector<int> find_routers(int l, int n, int q) {
    //int idx = use_detector(0);
    std::vector<int> ans;
    ans.push_back(0);
    int ara[l+1],temp=0;
    /*for(int i=0;i<=l;i++){
        int k=use_detector(i);
        ara[i]=k;
    }
    /*for(int i=0;i<=l;i++){
        if(ara[i]==0 and ara[i+1]==1){
            ans.push_back(i*2);
            break;
        }
    }*/

    std::vector<int>v;
    int low=0,high=l,mid=(low+high)/2;

    for(;low<=high;){
        mid=(low+high)/2;
        int k=use_detector(mid);
        if(k>=1){
            high=mid-1;
        }
        else if(k<=0) low=mid+1;
        //cout<<mid;

    }

    v.push_back(high);

    for(int i=1;i<n;i++){
        low=v.at(v.size()-1),high=l,mid=(low+high)/2;

        for(;low<=high;){
            mid=(low+high)/2;
            int k=use_detector(mid);
            if(k>=i){
                high=mid;
            }
            else if(k<=i) low=mid;
            //cout<<mid;

        }
        v.push_back(high);
    }
    for(int i=0;i<v.size();i++){
        ans.push_back(2*v[i]-2-ans.at(ans.size()-1));
    }
	return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...