代码拉取完成,页面将自动刷新
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int m=sc.nextInt();
int n=sc.nextInt();
int [] o=new int[n];
for(int i=0;i<n;i++){
o[i]=sc.nextInt();
}
int [] s=new int[m];
int [] sum=new int[m];
for(int i=0;i<m;i++){
if(i<m-1){
s[i]=1;
sum[i]=o[i];
}
}
sum[m-1]=0;
s[m-1]=n-m+1;
for(int i=m-1;i<n;i++){
sum[m-1]+=o[i];
}
spilt(sum,s,o);
}
public static void spilt(int [] sum,int [] s,int[] o){
List<Integer> list=new ArrayList<>();
int max=0;
int i=0;
while (i<10) {
list = max(sum);
max=list.get(1);
int index = list.get(0);
if (index == 0) {
sum[index] = sum[index] - o[s[index] - 1];
sum[index + 1] = sum[index + 1] + o[s[index] - 1];
s[index] -= 1;
s[index + 1] += 1;
} else if (index == sum.length - 1) {
sum[index] = sum[index] - o[o.length - s[index]];
sum[index - 1] = sum[index - 1] + o[o.length - s[index]];
s[index] -= 1;
s[index - 1] += 1;
} else {
if (sum[index - 1] < sum[index + 1]) {
sum[index] = sum[index] - o[sum1(s, index)];
sum[index - 1] = sum[index - 1] + o[sum1(s, index)];
s[index] -= 1;
s[index - 1] += 1;
} else {
sum[index] = sum[index] - o[sum1(s, index + 1) - 1];
sum[index + 1] = sum[index + 1] + o[sum1(s, index + 1) - 1];
s[index] -= 1;
s[index + 1] += 1;
}
}
i++;
}
System.out.println(max);
}
public static int sum1(int[] s,int index){
int sum=0;
for(int i=0;i<index;i++){
sum+=s[i];
}
return sum;
}
public static List<Integer> max(int[] sum){
List<Integer> list=new ArrayList<>();
int max=sum[0];
int index=0;
for(int i=1;i<sum.length;i++){
if(sum[i]>max){
max=sum[i];
index=i;
}
}
list.add(index);
list.add(max);
return list;
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。