1 条题解

  • 1
    @ 2025-1-20 11:37:32
    #include<bits/stdc++.h>
    using namespace std;
    struct s{
    	double m,v;
    };
    s a[105];
    bool cmp(s p,s q){
    	return p.v/p.m > q.v/q.m;
    } 
    int main(){
    	int n,t;
    	double h=0;
    	cin>>n>>t;
    	for(int i=1;i<=n;i++){
    		cin>>a[i].m>>a[i].v;
    	}
    	sort(a+1,a+n+1,cmp);
    	for(int i=1;i<=n;i++){
    		if(t-a[i].m>=0){
    			t-=a[i].m;
    			h+=a[i].v;
    		}
    		else{
    			double z=a[i].v/a[i].m;
    			h+=z*t;
    			break;
    		}
    	}
    	printf("%.2lf",h);
    	return 0;
    }
    
    • 1

    信息

    ID
    78
    时间
    1000ms
    内存
    125MiB
    难度
    7
    标签
    递交数
    1
    已通过
    1
    上传者