Submission #29810834
Source Code Expand
#include <bits/stdc++.h> using std::vector; using std::array; using std::pair; using std::tuple; using ll = long long; constexpr ll inf = std::numeric_limits<ll>::max() / 2; int main() { std::ios_base::sync_with_stdio(false); std::cin.tie(nullptr); int N, M; std::cin >> N >> M; vector<int> A(M), B(M), C(M); vector<vector<pair<int, ll>>> list(N); ll sum = 0; for (int i = 0; i < M; ++i) { std::cin >> A[i] >> B[i] >> C[i]; A[i] -= 1, B[i] -= 1; if (A[i] > B[i]) std::swap(A[i], B[i]); list[A[i]].emplace_back(B[i], C[i]); sum += C[i]; } vector<ll> memo(N); std::priority_queue<pair<int, ll>> heap; const auto solve = [&](const ll subt) { std::fill(memo.begin(), memo.end(), 0); heap = decltype(heap)(); ll cur = 0, turn = 0; for (int i = 0; i < N; ++i) { cur += memo[i]; for (const auto& [r, c] : list[i]) { cur += c; memo[r] -= c; heap.emplace(r, c); } const ll dif = cur - subt; ll need = (dif + 1) / 2; while (need > 0) { if (heap.empty() or heap.top().first <= i) return inf; const auto [r, c] = heap.top(); heap.pop(); const ll min = std::min(c, need); cur -= 2 * min; turn += min; memo[r] += 2 * min; if (min < c) heap.emplace(r, c - min); need -= min; } } return subt + turn; }; ll ans = inf; for (const int parity : {0, 1}) { ll ok = sum + 1, ng = -1; while (ok - ng > 1) { const ll md = (ok + ng) / 2; const ll l = solve(parity + 2 * md); if (l == inf) { ng = md; } else { (l <= solve(parity + 2 * md + 2) ? ok : ng) = md; } } ans = std::min(ans, solve(parity + 2 * ok)); } std::cout << ans << '\n'; return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - 切符の手配 (Arranging Tickets) |
User | KoD |
Language | C++ (GCC 9.2.1) |
Score | 100 |
Code Size | 2156 Byte |
Status | AC |
Exec Time | 2699 ms |
Memory | 17024 KiB |
Judge Result
Set Name | Subtask01 | Subtask02 | Subtask03 | Subtask04 | Subtask05 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 10 / 10 | 35 / 35 | 20 / 20 | 20 / 20 | 15 / 15 | ||||||||||
Status |
|
|
|
|
|
Set Name | Test Cases |
---|---|
Subtask01 | 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, sample-01, sample-03 |
Subtask02 | 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, sample-01, sample-03 |
Subtask03 | 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 03-01.txt, 03-02.txt, 03-03.txt, 03-04.txt, 03-05.txt, 03-06.txt, 03-07.txt, 03-08.txt, 03-09.txt, 03-10.txt, 03-11.txt, 03-12.txt, sample-01, sample-03 |
Subtask04 | 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 03-01.txt, 03-02.txt, 03-03.txt, 03-04.txt, 03-05.txt, 03-06.txt, 03-07.txt, 03-08.txt, 03-09.txt, 03-10.txt, 03-11.txt, 03-12.txt, 04-01.txt, 04-02.txt, 04-03.txt, 04-04.txt, 04-05.txt, 04-06.txt, 04-07.txt, 04-08.txt, 04-09.txt, 04-10.txt, 04-11.txt, 04-12.txt, sample-01, sample-03 |
Subtask05 | 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 03-01.txt, 03-02.txt, 03-03.txt, 03-04.txt, 03-05.txt, 03-06.txt, 03-07.txt, 03-08.txt, 03-09.txt, 03-10.txt, 03-11.txt, 03-12.txt, 04-01.txt, 04-02.txt, 04-03.txt, 04-04.txt, 04-05.txt, 04-06.txt, 04-07.txt, 04-08.txt, 04-09.txt, 04-10.txt, 04-11.txt, 04-12.txt, 05-01.txt, 05-02.txt, 05-03.txt, 05-04.txt, 05-05.txt, 05-06.txt, 05-07.txt, 05-08.txt, sample-01.txt, sample-02.txt, sample-03.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01-01.txt | AC | 6 ms | 3488 KiB |
01-02.txt | AC | 2 ms | 3580 KiB |
01-03.txt | AC | 2 ms | 3544 KiB |
01-04.txt | AC | 2 ms | 3588 KiB |
01-05.txt | AC | 2 ms | 3552 KiB |
01-06.txt | AC | 3 ms | 3588 KiB |
01-07.txt | AC | 2 ms | 3428 KiB |
01-08.txt | AC | 3 ms | 3592 KiB |
01-09.txt | AC | 2 ms | 3628 KiB |
01-10.txt | AC | 2 ms | 3492 KiB |
01-11.txt | AC | 4 ms | 3592 KiB |
01-12.txt | AC | 2 ms | 3472 KiB |
01-13.txt | AC | 6 ms | 3544 KiB |
01-14.txt | AC | 2 ms | 3592 KiB |
01-15.txt | AC | 2 ms | 3492 KiB |
02-01.txt | AC | 4 ms | 3652 KiB |
02-02.txt | AC | 3 ms | 3620 KiB |
02-03.txt | AC | 4 ms | 3516 KiB |
02-04.txt | AC | 3 ms | 3656 KiB |
02-05.txt | AC | 5 ms | 3628 KiB |
02-06.txt | AC | 3 ms | 3472 KiB |
02-07.txt | AC | 4 ms | 3640 KiB |
02-08.txt | AC | 3 ms | 3536 KiB |
02-09.txt | AC | 6 ms | 3620 KiB |
02-10.txt | AC | 4 ms | 3664 KiB |
02-11.txt | AC | 5 ms | 3628 KiB |
02-12.txt | AC | 3 ms | 3516 KiB |
03-01.txt | AC | 15 ms | 3916 KiB |
03-02.txt | AC | 15 ms | 3904 KiB |
03-03.txt | AC | 22 ms | 3816 KiB |
03-04.txt | AC | 18 ms | 3940 KiB |
03-05.txt | AC | 15 ms | 3908 KiB |
03-06.txt | AC | 15 ms | 3904 KiB |
03-07.txt | AC | 14 ms | 3856 KiB |
03-08.txt | AC | 12 ms | 3788 KiB |
03-09.txt | AC | 15 ms | 3896 KiB |
03-10.txt | AC | 13 ms | 3916 KiB |
03-11.txt | AC | 11 ms | 3880 KiB |
03-12.txt | AC | 12 ms | 3824 KiB |
04-01.txt | AC | 634 ms | 17024 KiB |
04-02.txt | AC | 671 ms | 17008 KiB |
04-03.txt | AC | 619 ms | 16820 KiB |
04-04.txt | AC | 732 ms | 16956 KiB |
04-05.txt | AC | 762 ms | 16976 KiB |
04-06.txt | AC | 679 ms | 16816 KiB |
04-07.txt | AC | 625 ms | 16280 KiB |
04-08.txt | AC | 606 ms | 16320 KiB |
04-09.txt | AC | 576 ms | 16312 KiB |
04-10.txt | AC | 461 ms | 13752 KiB |
04-11.txt | AC | 377 ms | 14180 KiB |
04-12.txt | AC | 471 ms | 13760 KiB |
05-01.txt | AC | 2699 ms | 16976 KiB |
05-02.txt | AC | 2460 ms | 16884 KiB |
05-03.txt | AC | 2576 ms | 16864 KiB |
05-04.txt | AC | 2392 ms | 16876 KiB |
05-05.txt | AC | 2185 ms | 16880 KiB |
05-06.txt | AC | 2385 ms | 16304 KiB |
05-07.txt | AC | 2475 ms | 16308 KiB |
05-08.txt | AC | 1275 ms | 13784 KiB |
sample-01.txt | AC | 4 ms | 3540 KiB |
sample-02.txt | AC | 2 ms | 3492 KiB |
sample-03.txt | AC | 2 ms | 3492 KiB |