Submission #1519064


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

constexpr int INF = 1e9;

int solve(int M, map<int, vector<int>>& beam) {
    vector<int> res(M);
    for(auto& p : beam) {
        auto& b = p.second;
        sort(b.begin(), b.end());
        for(auto x : b) {
            if(x + 1 < M) {
                res[x + 1] = min(res[x + 1], res[x] + 1);
            }
        }
        for(int i = (int)b.size() - 1; i >= 0; --i) {
            if(b[i] - 1 >= 0) {
                res[b[i] - 1] = min(res[b[i] - 1], res[b[i]] + 1);
            }
        }
        for(auto x : b) {
            res[x] = INF;
        }
    }
    return *min_element(res.begin(), res.end());
}

int main() {
    int W, H, Q;
    cin >> W >> H >> Q;
    map<int, vector<int>> beam_y;
    map<int, vector<int>> beam_x;
    for(int i = 0; i < Q; ++i) {
        int t, d, x;
        cin >> t >> d >> x;
        if(d == 0) {
            beam_x[t].push_back(x - 1);
        } else {
            beam_y[t].push_back(x - 1);
        }
    }
    int yd = solve(H, beam_y);
    int xd = solve(W, beam_x);
    if(xd == INF || yd == INF) {
        cout << -1 << endl;
    } else {
        cout << yd + xd << endl;
    }
}

Submission Info

Submission Time
Task C - ビーム
User Suibaka
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1230 Byte
Status AC
Exec Time 120 ms
Memory 11136 KB

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 30 / 30 70 / 70
Status
AC × 3
AC × 33
AC × 63
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
Subtask1 sample_01.txt, sample_02.txt, sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt, subtask1_30.txt
Subtask2 sample_01.txt, sample_02.txt, sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt, subtask1_30.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt, subtask2_21.txt, subtask2_22.txt, subtask2_23.txt, subtask2_24.txt, subtask2_25.txt, subtask2_26.txt, subtask2_27.txt, subtask2_28.txt, subtask2_29.txt, subtask2_30.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
sample_03.txt AC 1 ms 256 KB
subtask1_01.txt AC 1 ms 256 KB
subtask1_02.txt AC 1 ms 256 KB
subtask1_03.txt AC 1 ms 256 KB
subtask1_04.txt AC 1 ms 256 KB
subtask1_05.txt AC 1 ms 256 KB
subtask1_06.txt AC 1 ms 256 KB
subtask1_07.txt AC 1 ms 256 KB
subtask1_08.txt AC 1 ms 256 KB
subtask1_09.txt AC 1 ms 256 KB
subtask1_10.txt AC 1 ms 256 KB
subtask1_11.txt AC 1 ms 256 KB
subtask1_12.txt AC 1 ms 256 KB
subtask1_13.txt AC 1 ms 256 KB
subtask1_14.txt AC 1 ms 256 KB
subtask1_15.txt AC 1 ms 256 KB
subtask1_16.txt AC 1 ms 256 KB
subtask1_17.txt AC 1 ms 256 KB
subtask1_18.txt AC 1 ms 256 KB
subtask1_19.txt AC 1 ms 256 KB
subtask1_20.txt AC 1 ms 256 KB
subtask1_21.txt AC 1 ms 256 KB
subtask1_22.txt AC 1 ms 256 KB
subtask1_23.txt AC 1 ms 256 KB
subtask1_24.txt AC 1 ms 256 KB
subtask1_25.txt AC 1 ms 256 KB
subtask1_26.txt AC 1 ms 256 KB
subtask1_27.txt AC 1 ms 256 KB
subtask1_28.txt AC 1 ms 256 KB
subtask1_29.txt AC 1 ms 256 KB
subtask1_30.txt AC 1 ms 256 KB
subtask2_01.txt AC 117 ms 8832 KB
subtask2_02.txt AC 112 ms 8832 KB
subtask2_03.txt AC 119 ms 11136 KB
subtask2_04.txt AC 66 ms 768 KB
subtask2_05.txt AC 66 ms 896 KB
subtask2_06.txt AC 120 ms 9216 KB
subtask2_07.txt AC 110 ms 8832 KB
subtask2_08.txt AC 69 ms 1024 KB
subtask2_09.txt AC 68 ms 1024 KB
subtask2_10.txt AC 65 ms 1024 KB
subtask2_11.txt AC 67 ms 1152 KB
subtask2_12.txt AC 70 ms 896 KB
subtask2_13.txt AC 107 ms 9088 KB
subtask2_14.txt AC 110 ms 8960 KB
subtask2_15.txt AC 3 ms 384 KB
subtask2_16.txt AC 1 ms 256 KB
subtask2_17.txt AC 69 ms 896 KB
subtask2_18.txt AC 115 ms 10112 KB
subtask2_19.txt AC 115 ms 7552 KB
subtask2_20.txt AC 69 ms 1024 KB
subtask2_21.txt AC 99 ms 5760 KB
subtask2_22.txt AC 90 ms 3968 KB
subtask2_23.txt AC 120 ms 11136 KB
subtask2_24.txt AC 79 ms 1920 KB
subtask2_25.txt AC 68 ms 1024 KB
subtask2_26.txt AC 65 ms 768 KB
subtask2_27.txt AC 67 ms 768 KB
subtask2_28.txt AC 65 ms 640 KB
subtask2_29.txt AC 64 ms 896 KB
subtask2_30.txt AC 86 ms 3200 KB