| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 | 
|---|---|---|---|---|---|---|---|
| 418284 | FlippenFaz | 통행료 (IOI18_highway) | C++11 | 0 ms | 0 KiB | 
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
void answer(int s, int t);
ll ask(vector<int> w);
set<int> curCities;
void find_pair(int N, vector<int> U, vector<int> V, int A, int B) {
    vector<int> askArr;
    askArr.resize(U.size());
    ll sml = ask(askArr);
    askArr[0] = 1;
    ll cur = ask(askArr);
    if (cur > sml) {
        curCities.insert(U[0]);
        curCities.insert(V[0]);
    }
    for (int i = 1; i < askArr.size(); i++) {
        U[i-1] = 0;
        U[i] = 1;
        ll cur = ask(askArr);
        if (cur > sml) {
            if (curCities.erase(U[i]) == 0) {
                curCities.insert(U[i]);
            }
            if (curCities.erase(V[i]) == 0) {
                curCities.insert(V[i]);
            }
        }
    }
    vector<int> cits;
    for (auto it = curCities.begin(); it != curCities.end(); it++) {
        cits.push_back(*it);
    }
    answer(cits[0], cits[1]);
    
}
