题目背景
题目描述
样例1输入
3 10
2 5 8
输出
5
C++解答
#include<stdio.h>
#include<iostream>
#include<math.h>
using namespace std;
int n, N;
int main() {
cin >> n >> N;
int A[n + 1] = { 0 };//所有数组元素都置0
int f[N];
int g[N];
for (int i = 1; i <= n; i++) {
cin>>A[i];
}
int r = N / (n + 1);
int result=0;
for (int i = 0,j=0; i < N; i++) {
if (i >= A[n]) {
f[i]=n;
}
else{
while (i >= A[j + 1]) {
j++;
}
f[i] = j;
}
}
for (int i = 0; i < N; i++) {
g[i] = floor(i / r);
}
for (int i = 0; i < N; i++) {
result += abs(g[i] - f[i]);
}
cout<<result;
return 0;
}
由于一些子任务
我的答案只能通过70%的测试样例(hh