Submission #1230141

#TimeUsernameProblemLanguageResultExecution timeMemory
1230141neisennFinding Routers (IOI20_routers)C++20
70.13 / 100
2 ms328 KiB
#include <iostream>
#include <vector>
#include "routers.h"
using namespace std;
#define pb push_back

std::vector<int> find_routers(int l, int n, int q) {
    cin >> l >> n >> q;
    vector<int> p;
    p.pb(0);
    for (int i = 1; i < n; i++){
        int lo = p[i-1]+1;
        int hi = l;
        int ans = -1;
        while (lo <= hi){
            int mid = (lo+hi)/2;
            int ret = use_detector(mid);
            if (ret >= i){
                hi = mid-1;
            } else {
                ans = mid;
                lo = mid+1;
            }
        }
        int x;
        if (ans == -1) x = p[i-1]+1;
        else {
          ans -= p[i-1];
          x = 2*ans+p[i-1];
        }
        p.pb(x);
    }
    vector<int> ans;
    for (int i : p) ans.pb(i);
    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...