Submission #330269
Source Code Expand
#include <iostream> #include <sstream> #include <fstream> #include <string> #include <vector> #include <deque> #include <queue> #include <stack> #include <set> #include <map> #include <algorithm> #include <utility> #include <bitset> #include <cmath> #include <cstdlib> #include <ctime> #include <cstring> #include <cstdio> #include <numeric> using namespace std; typedef long long ll; const int kN = 100002; int N; ll L; ll A[kN]; ll B[kN]; ll C[kN]; ll S[kN]; ll T[kN]; ll tmp[kN]; ll end_to_start; ll f(ll x) { ll cost = 0; for (int i = 0; i < N; i++) { tmp[i] = B[i]; } cost += abs(x) * end_to_start; tmp[0] += x; tmp[N-1] -= x; for (int i = 0; i < N; i++) { ll delta = tmp[i] - C[i]; tmp[i] -= delta; tmp[i+1] += delta; cost += abs(delta) * (A[i+1] - A[i]); } return cost; } ll solve() { ll ans = 1LL<<59; end_to_start = min(A[N-1], L - A[N-1]); const ll sum_b = accumulate(B, B+N, 0LL); ll lb = -sum_b, ub = sum_b; for (int z = 0; z < 100; z++) { ll lhs = (lb+lb+ub) / 3LL; ll rhs = (lb+ub+ub) / 3LL; ll lv = f(lhs); ll rv = f(rhs); ans = min(ans, min(lv, rv)); if (lv < rv) { ub = rhs; } else { lb = lhs; } } return ans; } int main() { while (cin>>N>>L) { for (int i = 0; i < N; i++) { cin >> A[i] >> B[i] >> C[i]; } ll ans = solve(); cout << ans << endl; } return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - タクシー |
User | brly |
Language | C++ (G++ 4.6.4) |
Score | 100 |
Code Size | 1517 Byte |
Status | AC |
Exec Time | 296 ms |
Memory | 4076 KB |
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | Subtask3 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 15 / 15 | 30 / 30 | 55 / 55 | ||||||||
Status |
|
|
|
|
Set Name | Test Cases |
---|---|
Sample | subtask0-sample-01.txt, subtask0-sample-02.txt |
Subtask1 | subtask0-sample-01.txt, subtask0-sample-02.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 |
Subtask2 | subtask0-sample-01.txt, subtask0-sample-02.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, 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 |
Subtask3 | subtask0-sample-01.txt, subtask0-sample-02.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, 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, subtask3-01.txt, subtask3-02.txt, subtask3-03.txt, subtask3-04.txt, subtask3-05.txt, subtask3-06.txt, subtask3-07.txt, subtask3-08.txt, subtask3-09.txt, subtask3-10.txt, subtask3-11.txt, subtask3-12.txt, subtask3-13.txt, subtask3-14.txt, subtask3-15.txt, subtask3-16.txt, subtask3-17.txt, subtask3-18.txt, subtask3-19.txt, subtask3-20.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
subtask0-sample-01.txt | AC | 34 ms | 948 KB |
subtask0-sample-02.txt | AC | 28 ms | 1048 KB |
subtask1-01.txt | AC | 25 ms | 1048 KB |
subtask1-02.txt | AC | 25 ms | 1044 KB |
subtask1-03.txt | AC | 36 ms | 1076 KB |
subtask1-04.txt | AC | 34 ms | 1080 KB |
subtask1-05.txt | AC | 36 ms | 1084 KB |
subtask1-06.txt | AC | 36 ms | 1076 KB |
subtask1-07.txt | AC | 37 ms | 1080 KB |
subtask1-08.txt | AC | 36 ms | 1076 KB |
subtask1-09.txt | AC | 36 ms | 1076 KB |
subtask1-10.txt | AC | 36 ms | 1076 KB |
subtask1-11.txt | AC | 36 ms | 1180 KB |
subtask1-12.txt | AC | 35 ms | 1076 KB |
subtask1-13.txt | AC | 35 ms | 1076 KB |
subtask1-14.txt | AC | 36 ms | 1076 KB |
subtask1-15.txt | AC | 38 ms | 1176 KB |
subtask1-16.txt | AC | 37 ms | 1076 KB |
subtask1-17.txt | AC | 39 ms | 1080 KB |
subtask1-18.txt | AC | 36 ms | 1076 KB |
subtask1-19.txt | AC | 37 ms | 1048 KB |
subtask1-20.txt | AC | 37 ms | 1076 KB |
subtask2-01.txt | AC | 38 ms | 1076 KB |
subtask2-02.txt | AC | 39 ms | 1136 KB |
subtask2-03.txt | AC | 38 ms | 1176 KB |
subtask2-04.txt | AC | 39 ms | 1080 KB |
subtask2-05.txt | AC | 37 ms | 1124 KB |
subtask2-06.txt | AC | 37 ms | 1076 KB |
subtask2-07.txt | AC | 38 ms | 1080 KB |
subtask2-08.txt | AC | 38 ms | 1076 KB |
subtask2-09.txt | AC | 40 ms | 1076 KB |
subtask2-10.txt | AC | 40 ms | 1076 KB |
subtask2-11.txt | AC | 47 ms | 1076 KB |
subtask2-12.txt | AC | 38 ms | 1076 KB |
subtask2-13.txt | AC | 60 ms | 1136 KB |
subtask2-14.txt | AC | 36 ms | 1080 KB |
subtask2-15.txt | AC | 38 ms | 1080 KB |
subtask2-16.txt | AC | 39 ms | 1132 KB |
subtask2-17.txt | AC | 40 ms | 1128 KB |
subtask2-18.txt | AC | 35 ms | 1080 KB |
subtask2-19.txt | AC | 37 ms | 1124 KB |
subtask2-20.txt | AC | 42 ms | 1076 KB |
subtask3-01.txt | AC | 79 ms | 1584 KB |
subtask3-02.txt | AC | 165 ms | 2524 KB |
subtask3-03.txt | AC | 293 ms | 4024 KB |
subtask3-04.txt | AC | 258 ms | 4016 KB |
subtask3-05.txt | AC | 292 ms | 4016 KB |
subtask3-06.txt | AC | 293 ms | 4076 KB |
subtask3-07.txt | AC | 296 ms | 4024 KB |
subtask3-08.txt | AC | 292 ms | 4028 KB |
subtask3-09.txt | AC | 250 ms | 4020 KB |
subtask3-10.txt | AC | 292 ms | 4024 KB |
subtask3-11.txt | AC | 248 ms | 4020 KB |
subtask3-12.txt | AC | 291 ms | 4020 KB |
subtask3-13.txt | AC | 289 ms | 4072 KB |
subtask3-14.txt | AC | 292 ms | 4024 KB |
subtask3-15.txt | AC | 292 ms | 4024 KB |
subtask3-16.txt | AC | 290 ms | 4012 KB |
subtask3-17.txt | AC | 293 ms | 4016 KB |
subtask3-18.txt | AC | 277 ms | 4020 KB |
subtask3-19.txt | AC | 287 ms | 4020 KB |
subtask3-20.txt | AC | 293 ms | 4020 KB |