Submission #1008526


Source Code Expand

#include <algorithm>
#include <cassert>
#include <climits>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <deque>
#include <iomanip>
#include <iostream>
#include <limits>
#include <map>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <vector>

#define FOR(i,k,n) for (int (i)=(k); (i)<(n); ++(i))
#define rep(i,n) FOR(i,0,n)
#define pb push_back
#define eb emplace_back
#define mp make_pair
#define fst first
#define snd second
#define all(v) begin(v), end(v)
#define debug(x) cerr<< #x <<": "<<x<<endl
#define debug2(x,y) cerr<< #x <<": "<< x <<", "<< #y <<": "<< y <<endl

using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> pii;
typedef vector<int> vi;
typedef vector<vector<int> > vvi;
typedef vector<ll> vll;
typedef vector<vector<ll> > vvll;
template<class T> using vv=vector<vector< T > >;

int main() {
  int n, x;
  scanf("%d%d", &n, &x);
  vi a(n);
  rep (i, n) {
    scanf("%d", &a[i]);
  }
  auto a_cp = a;

  ll ans = 0;
  rep (i, n-1) {
    if (a[i] + a[i+1] > x) {
      ll eat = a[i] + a[i+1] - x;
      if (eat <= a[i+1]) {
        a[i+1] -= eat;
        ans += eat;
      } else {
        a[i] -= (eat - a[i+1]);
        a[i+1] = 0;
        ans += eat;
      }
    }
  }
  printf("%lld\n", ans);

  return 0;
}

Submission Info

Submission Time
Task C - Boxes and Candies
User tspcx
Language C++14 (Clang 3.8.0)
Score 300
Code Size 1404 Byte
Status AC
Exec Time 17 ms
Memory 1024 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 4
AC × 20
Set Name Test Cases
Sample 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt
All 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt
Case Name Status Exec Time Memory
0_00.txt AC 8 ms 888 KB
0_01.txt AC 3 ms 256 KB
0_02.txt AC 3 ms 256 KB
0_03.txt AC 3 ms 256 KB
1_00.txt AC 3 ms 256 KB
1_01.txt AC 3 ms 256 KB
1_02.txt AC 3 ms 256 KB
1_03.txt AC 3 ms 256 KB
1_04.txt AC 11 ms 1024 KB
1_05.txt AC 11 ms 1024 KB
1_06.txt AC 17 ms 1024 KB
1_07.txt AC 16 ms 1024 KB
1_08.txt AC 16 ms 1024 KB
1_09.txt AC 16 ms 1024 KB
1_10.txt AC 16 ms 1024 KB
1_11.txt AC 16 ms 1024 KB
1_12.txt AC 16 ms 1024 KB
1_13.txt AC 16 ms 1024 KB
1_14.txt AC 16 ms 1024 KB
1_15.txt AC 16 ms 1024 KB