将给出的数列放入一个集合(ArrayList)中
根据题中给出的例子
3 10
2 5 8
i 0 1 2 3 4 5 6 7 8 9
f(i) 0 0 1 1 1 2 2 2 3 3
已知集合list: 0 2 5 8
可以列出一个大概的式子:
(2-0)*0+(5-2)*1+(8-5)*2+(10-8)*3
即:
(list.get(i+1)-list.get(i))*i
最后一组特殊为:
(N-list.get(n))*n
还有一种情况为:
list中有数>N,则不予理睬直接跳过
import java.util.Scanner;
import java.util.ArrayList;
public class Main {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int N=sc.nextInt();
ArrayList list=new ArrayList();
list.add(0,0);
int sum=0;
for(int i=0;i=N){
continue;
}
sum=sum+(list.get(i+1)-list.get(i))*i;
}
if(N>list.get(n)){
sum=sum+(N-list.get(n))*n;
}
System.out.println(sum);
}
}



