求大佬康康,全错
查看原帖
求大佬康康,全错
1278744
liu231202楼主2024/11/18 19:12

哪里错了?

#include<iostream>
#include<algorithm>
#include<iomanip>
using namespace std;
struct l{
	int m;
	int v;
	float j;
};
bool cmp(l x,l y){
	return x.j<y.j;
}
int main(){
	int n,t;
	cin>>n>>t;
	int all=t;
	l a[n];
	for(int i=0;i<n;i++){
		cin>>a[i].m>>a[i].v;
		a[i].j=1.0*a[i].v/a[i].m;
	}
	sort(a,a+n,cmp);
	float ans=0;
	for(int i=n;i>=0;i--){
        if(t==0) break;
		if(t>=-a[i].m){
			t-=a[i].m;
			ans+=a[i].v;
		}else{
			ans+=a[i].j*t;
			break;
		}
	}
	cout<<fixed<<setprecision(1)<<ans<<endl;
	return 0;
}
2024/11/18 19:12
加载中...