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
AC × 2
AC × 22
AC × 42
AC × 62
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