/* 2番目の人から順にi番目の人はi−1番目の人との距離がD未満の場合、 Dになるまで正の方向に移動します。 この移動で i + 1 番目の人と位置が逆転した場合、負の距離として扱います。 つまり、条件を満たすためには最終的に必ず i 番目より i + 1 番目の人のほうが大きい座標にいます。 5 2 1 2 3 1000 0 2 4 6 1006 10 90 1 2 3 4 5 6 7 8 9 0 90 180 270 360 450 540 630 720 810 */ #include using namespace std; using ll=long long; #define rep2(i, a, n) for(int i = (a); i < (n); i++) #define rep(i, n) rep2(i,0,n) int main(){ cin.tie(nullptr);ios_base::sync_with_stdio(false); int n,d,shake;cin>>n>>d; int hoge[n]; hoge[0]=0; rep2(i,1,n)cin>>hoge[i]; if(n>1){ shake=hoge[1]; rep2(i,2,n){ shake+=hoge[i]; hoge[i]=shake; } rep2(i,1,n){ if(hoge[i]