求助!第一个点RE了
查看原帖
求助!第一个点RE了
1036897
AnOIer楼主2024/1/17 19:33
#include<bits/stdc++.h>
using namespace std;
struct node{
	double v;
	int w;
}a[10000];
bool cmp(node a,node b){
	return a.v>b.v;
}
int main(){
	int n,t,v,w;
	double ans=0;
	cin>>n>>t;
	for(int i=1;i<=n;i++){
		cin>>w>>v;
		a[i].w=w;
		a[i].v=double(v)/double(w);
	}
	sort(a+1,a+1+n,cmp);
	for(int i=1;t>0;i++){
		if(t<a[i].w){
			ans+=(a[i].v*t);
			break;
		}
		else{
			ans+=(a[i].v*a[i].w);
			t-=a[i].w;
		}
	}
	printf("%.2lf\n",ans);
	return 0;
} 
2024/1/17 19:33
加载中...