제출 #1264656

#제출 시각아이디문제언어결과실행 시간메모리
1264656ortsac철로 (IOI14_rail)C++20
30 / 100
33 ms584 KiB
#include "rail.h"
#include <bits/stdc++.h>

using namespace std;

#define pii pair<int, int>
#define fr first
#define se second

void findLocation(int n, int block, int l[], int t[]) {
    l[0] = block;
    t[0] = 1; // 1 is DOWN, 2 is UP
    deque<pii> dists;
    for (int i = 1; i < n; i++) dists.push_back({getDistance(0, i), i});
    sort(dists.begin(), dists.end());
    int ot = dists.front().se;
    l[ot] = (l[0] + dists.front().fr);
    t[ot] = 2;
    dists.pop_front();
    for (auto [d, u] : dists) {
        int xD = getDistance(ot, u);
        if (xD > d) {
            t[u] = 2;
            l[u] = (l[0] + d);
        } else {
            t[u] = 1;
            l[u] = (l[ot] - xD);
        }
    }
    return;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...