1 solutions

  • 0
    @ 2025-11-5 15:02:40

    C :

    #include<stdio.h>
    #include<stdlib.h>
    struct bag
    {
        int v;
        int w;
    } b[100];
    int cmp(const void *a,const void *b)
    {
        return (*(struct bag*)b).v>(*(struct bag*)a).v?1:-1;
    }
    int main()
    {
        int t,s,m,i,sum,count;
        while(scanf("%d",&t)!=EOF)
        {
            while(t--)
            {
                sum=0;
                count=0;
                scanf("%d%d",&s,&m);
                for(i=0; i<s; i++)
                    scanf("%d%d",&b[i].v,&b[i].w);
                qsort(b,s,sizeof(b[0]),cmp);
                for(i=0; i<s; i++)
                {
                    if(sum+b[i].w<=m)
                    {
                        count+=b[i].v*b[i].w;
                        sum+=b[i].w;
                    }
                    else
                    {
                        count+=b[i].v*(m-sum);
                        break;
                    }
                }
                printf("%d\n",count);
            }
        }
    }
    
    

    C++ :

    #include<stdio.h>
    #include<algorithm>
    using namespace std;
    typedef struct node{
      int v;
      int w;
    }data[10];
    int cmp(node a1,node a2){
       if(a1.v>a2.v) return 1;
         else return 0;
    }
    data a;
    int main(){
        int v,w,s,n,m;
        scanf("%d",&n);
        while(n--)
        {
          int sum=0;
          scanf("%d%d",&s,&m);
          for(int i=0;i<s;i++)
            scanf("%d%d",&a[i].v,&a[i].w);
          sort(a,a+s,cmp);
          for(int i=0;i<s&&m>0;i++){
            if(m>=a[i].w)
            {
              sum+=a[i].v*a[i].w;
              m-=a[i].w;
            }
             else
             {
                 sum+=a[i].v*m;
                 m=0;
             }
          }
           printf("%d\n",sum);
        }
        return 0;
    }
    
    
    • 1

    Information

    ID
    16362
    Time
    3000ms
    Memory
    60MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By