解题思路:

注意事项:

参考代码:

#include<stdio.h>

int main()

{

int n,m,i,j,k,y=0,t=0,sum=0;

int a[1010]={0},b[1010]={0};

scanf("%d %d",&n,&m);

for(i=1;i<=n;i++){

scanf("%d",&a[i]);

}

for(i=1;i<=n;i++){

for(j=2;j<=n;j++){

if(a[j]<a[j-1]){

t=a[j];

a[j]=a[j-1];

a[j-1]=t;

}

}

}

if(n>m){

for(i=1;i<=(n-m);i++){

y++;

b[y]+=b[y];

b[y]+=a[i];

if(y==m){

y=0;}

}

for(k=1;k<=m;k++)

sum+=b[k];

printf("%d\n",sum);

}

else{

printf("0\n");

}

return 0;

}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区

b[y]+=b[y];

b[y]+=a[i];
这里有问题,因为并不一定完全按从小到大顺序一层一层覆盖,如果第一个水龙头有3个人,第二个水龙头有2个人,但第一个水龙头总时间要小于第二个水龙头,那么下一个人还是要去第一个水龙头打水,所以你要把每个水龙头目前的总时间先做一个比较,选出总时间最小的,再加入元素。
2020-03-01 14:16:36
  • «
  • 1
  • »