Submission #1188783

#TimeUsernameProblemLanguageResultExecution timeMemory
1188783GoBananas69경주 (Race) (IOI11_race)C++20
0 / 100
0 ms320 KiB
#include <iostream>
#include <vector>
#include <array>
using namespace std;

bool check(vector<int> &pref, int m, int k) {
    for (int i = m; i < pref.size(); ++i) {
        if (pref[i] - pref[i - m] == k) {
            return true;
        }
    }
    return false;
}

int best_path(int n, int k, int h[][2], int* len) {
    vector<int> w(len, len + n - 1);
    vector<int> pref(n);
    for (int i = 1; i<n; ++i) {
        pref[i] = pref[i - 1] + w[i - 1];
    }
    int l = 0, r = n;
    while (l + 1 < r) {
        int m = (l + r)/2;
        if (check(pref, m, k)) {
            r = m;
        } else {
            l = m;
        }
    }
    return (r == n ? -1 : r);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...