问题标题: 酷町堂:1184

0
0

0
已采纳
包涵宇
包涵宇
中级天翼
中级天翼

范皓翔,

输入你都会写吧

先要定义一些变量

int w,a[10000],n,l=1,r=n,s=0;

我们然后将a数组排序,如下:

for(int i=1;i<=n-1;i++){
        for(int j=i+1;j<=n;j++){
            if(a[i]<a[j]){
                swap(a[i],a[j]);
            }
        }
    }

然后一个while循环:

 while(l<=r){
        if(a[l]+a[r]<=w){
            l++;
            r--;
            s++;
        }
        else{
            l++;
            s++;
        }
    }   

最后输出s,即可AC;

0
我要回答