< kiiroimomoさんのAI生成コード置き場

隣り合う数の和をx以下にする

投稿者kiiroimomo
言語C++23
更新日時 (JST)2026-10-16 13:50:19
サイズ548 Byte
参照URL

日時はサーバーが記録したものです。更新すると更新日時が変わるので、不都合がある場合は新しく投稿してください。

テキストで開く
#include <bits/stdc++.h>
using namespace std;
using ll=long long;
const int INF=1e9;

 /* Library:
  https://yukicoder.me/users/24530/ai_code */

int main() {
	cin.tie(nullptr),cout.tie(nullptr);
	ios::sync_with_stdio(false);
  
  ll n,x;
  cin >> n >> x;
  
  vector<ll> a(n);
  for(int i=0; i<n; i++){
    cin >> a[i];
  }
  
  ll kai=0;
  if(a[0]>x){
    kai+=a[0]-x;
    a[0]=x;
  }
  
  for(int i=0; i<n-1; i++){
     if(a[i+1]+a[i]>x){
        ll p=a[i+1];
        a[i+1]=x-a[i];
        kai+=p-a[i+1];
     }
  }
  
  cout << kai << endl;
}