2 条题解

  • 0
    @ 2024-12-22 13:24:55

    @OIER大牛小艾,既然你这么喜欢玩石头,那来vanvan姐姐的大要石如何!呱!我要震碎你的后槽牙口牙!no也没用

    #include<bits/stdc++.h>
     using namespace std; 
    int a[1010];
     int main() 
    {
     int m,w,s=0; 
    cin>>m>>w; 
    for(int i=1;i<=m;i++) 
         cin>>a[i];
     sort(a,a+m+1);//sort这里面的是地址,这样写会排序两个地址之间的所有数据
     int \*p,\*l;//用了指针
     p=&a[1];l=&a[m]; 
    for(;l>=p;l--)
    { 
    if(\*l<=w) 
     {  
    s++;
     if(\*p+\*l<=w)//和最小的相加小于w的堆一起,不能的只能单独算一堆
        { 
        p++; 
         }
       } 
    } 
    cout<<s; return 0; }
    

    信息

    ID
    800
    时间
    1000ms
    内存
    256MiB
    难度
    9
    标签
    (无)
    递交数
    86
    已通过
    4
    上传者