20分,急急国王
查看原帖
20分,急急国王
594405
Unaccepted_Error楼主2023/2/1 17:25
#include<bits/stdc++.h>
using namespace std;

const int MAXN = 100 + 10;
struct Node{
	int m;
	int v;
	int p;
}Money[MAXN];

bool cmp(Node a,Node b){
	return a.p > b.p;
} 
int n,t;
double ans = 0.00; 

int a[MAXN];
int main(){
	scanf("%d%d",&n,&t);
	for(int i = 1;i <= n;i++){
		scanf("%d%d",&Money[i].m,&Money[i].v);
		Money[i].p = Money[i].v / Money[i].m;
	}
	sort(Money + 1,Money + n + 1,cmp);
	for(int i = 1;i <= n;++i){
        if(Money[i].m <= t){
            t -= Money[i].m;
            ans += Money[i].v; 
        }
		else{
            ans += t * Money[i].p; break;
        }
    }
    printf("%.2f",ans);
	return 0; 
} 
2023/2/1 17:25
加载中...