24pts求调
查看原帖
24pts求调
798816
George0924楼主2023/3/11 17:42

#include <bits/stdc++.h>
using namespace std;
#define int unsigned long long
int a[1000005];
vector<int> v[1000005];
signed main(){
	int n,k ;
	cin >> n >> k;
	for (int i = 1; i <= n; i++){
		cin >> a[i];
	}
	int plat = 1,cur = 1;
	v[1].push_back(a[1]);
	for (int i = 2; i <= n; i++){
		if (a[i] - a[plat] < k * (i - plat)){
			v[cur].push_back(a[i]);
		}else{
			cur++;
			plat = i;
			v[cur].push_back(a[i]);
		}
	}
	int sum = 0;
	for (int i = 1; i <= cur; i++){
		sum += k + v[i][v[i].size() - 1] - v[i][0] + 1;
	}
	cout << sum;
}
2023/3/11 17:42
加载中...