Java版
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int N = sc.nextInt();
int[] A = new int[n + 1];
for (int i = 1; i < A.length; i++) {
int x = sc.nextInt();
A[i] = x;
}
int sum = 0;
for (int i = 0; i < n; i++) {
sum += i*(A[i+1]-A[i]);
}
sum += n*(N-A[n]);
System.out.println(sum);
}
}
C++版
#include#include using namespace std; int main(){ int n,N; scanf("%d %d",&n,&N); int last = 0,now,sum = 0; for(int i=0;i<=n;i++){ if(i==n) now = N; else scanf("%d",&now); //else部分不需要包含大括号{} //i对应f[i]从0--n,f[i]最大为n; //(now-last)对应f[i]的个数,数组数据每相邻两个数之间的差 sum += i * (now -last); last = now; } cout<



