Submission #1477326
Source Code Expand
#include <cstdio> #include <cstdlib> #include <cmath> #include <climits> #include <cfloat> #include <cstring> #include <map> #include <utility> #include <set> #include <iostream> #include <memory> #include <string> #include <vector> #include <list> #include <algorithm> #include <functional> #include <sstream> #include <complex> #include <stack> #include <queue> #include <unordered_set> #include <unordered_map> #include <array> #include <cassert> #include <bitset> using namespace std; using LL = long long; LL W, H, Q; struct B { LL pos, tim, wid; B(LL p, LL t, LL w) :pos(p), tim(t), wid(w) {} }; vector<B>xbeam, ybeam; LL walk(vector<B>& beam, LL span) { sort(beam.begin(), beam.end(), [](const B&b1, const B&b2) { if (b1.tim == b2.tim)return b1.pos < b2.pos; return b1.tim < b2.tim; }); for (auto itr = beam.begin(); itr != beam.end() && (itr + 1) != beam.end(); ++itr) { auto nxt = itr + 1; while (nxt != beam.end() && itr->tim == nxt->tim && itr->pos + itr->wid >= nxt->pos) { itr->wid++; nxt = beam.erase(nxt); } } vector<LL>dp(span, 0); for (auto b : beam) { LL lef = b.pos - 1; LL rht = b.pos + b.wid; LL lval = (lef < 0) ? INT_MAX : dp[lef]; LL rval = (rht >= span) ? INT_MAX : dp[rht]; for (LL i = lef + 1; i < rht; ++i) { LL val = min(lval + abs(i - lef), rval + abs(i - rht)); dp[i] = val; } } LL ans = INT_MAX; for (auto elm : dp)ans = min(ans, elm); return (ans == INT_MAX) ? -1 : ans; } int main(void) { cin >> W >> H >> Q; for (int i = 0; i < Q; ++i) { LL t, d, x; cin >> t >> d >> x; --x; if (d == 0) { xbeam.push_back(B(x, t, 1)); } else { ybeam.push_back(B(x, t, 1)); } } LL r1 = walk(xbeam, W); LL r2 = walk(ybeam, H); if (r1 < 0 || r2 < 0) { cout << -1 << endl; return 0; } cout << r1 + r2 << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - ビーム |
User | platypus |
Language | C++14 (GCC 5.4.1) |
Score | 30 |
Code Size | 1932 Byte |
Status | TLE |
Exec Time | 2103 ms |
Memory | 6196 KB |
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 30 / 30 | 0 / 70 | ||||||||
Status |
|
|
|
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 | 78 ms | 2764 KB |
subtask2_02.txt | AC | 78 ms | 2684 KB |
subtask2_03.txt | AC | 70 ms | 2776 KB |
subtask2_04.txt | TLE | 2103 ms | 4004 KB |
subtask2_05.txt | TLE | 2103 ms | 2792 KB |
subtask2_06.txt | AC | 83 ms | 3628 KB |
subtask2_07.txt | AC | 85 ms | 2728 KB |
subtask2_08.txt | TLE | 2103 ms | 2776 KB |
subtask2_09.txt | TLE | 2103 ms | 2860 KB |
subtask2_10.txt | TLE | 2103 ms | 2868 KB |
subtask2_11.txt | AC | 1069 ms | 4724 KB |
subtask2_12.txt | AC | 467 ms | 2668 KB |
subtask2_13.txt | AC | 346 ms | 2668 KB |
subtask2_14.txt | AC | 160 ms | 2696 KB |
subtask2_15.txt | AC | 2 ms | 384 KB |
subtask2_16.txt | AC | 1 ms | 256 KB |
subtask2_17.txt | AC | 990 ms | 2672 KB |
subtask2_18.txt | AC | 77 ms | 3628 KB |
subtask2_19.txt | AC | 83 ms | 3444 KB |
subtask2_20.txt | AC | 1832 ms | 2664 KB |
subtask2_21.txt | AC | 1391 ms | 2668 KB |
subtask2_22.txt | TLE | 2103 ms | 6196 KB |
subtask2_23.txt | AC | 70 ms | 2672 KB |
subtask2_24.txt | TLE | 2103 ms | 3504 KB |
subtask2_25.txt | TLE | 2023 ms | 2688 KB |
subtask2_26.txt | TLE | 2033 ms | 2776 KB |
subtask2_27.txt | TLE | 2103 ms | 2940 KB |
subtask2_28.txt | TLE | 2103 ms | 4468 KB |
subtask2_29.txt | TLE | 2103 ms | 2668 KB |
subtask2_30.txt | TLE | 2103 ms | 2668 KB |