제출 #764003

#제출 시각아이디문제언어결과실행 시간메모리
764003t6twotwo통행료 (IOI18_highway)C++17
0 / 100
11 ms408 KiB
#include "highway.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
void find_pair(int N, vector<int> U, vector<int> V, int A, int B) {
    int M = U.size();
    bool subtask3 = M == N - 1;
    for (int i = 0; i < M; i++) {
        if (U[i] != i && V[i] != i + 1) {
            subtask3 = 0;
        }
    }
    if (subtask3) {
        int s, t; {
            int lo = 0, hi = N - 1;
            while (lo < hi) {
                int mi = (lo + hi + 1) / 2;
                vector<int> w(M);
                fill(w.begin(), w.begin() + mi, 1);
                if (ask(w) != 1LL * A * mi) {
                    hi = mi - 1;
                } else {
                    lo = mi;
                }
            }
            s = lo;
        } {
            int lo = 0, hi = N - 1;
            while (lo < hi) {
                int mi = (lo + hi + 1) / 2;
                vector<int> w(M, 1);
                fill(w.begin(), w.begin() + mi, 0);
                if (ask(w) != 1LL * A * (N - mi - 1)) {
                    hi = mi - 1;
                } else {
                    lo = mi;
                }
            }
            t = lo;
        }
        answer(s, t);
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...