隣り合う数の和を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;
}