样例过了全WA
查看原帖
样例过了全WA
490748
cjihyy楼主2021/7/17 14:50

离谱

#include <bits/stdc++.h>
using namespace std;
struct Coin{
	int m;
	int v;
	double each;
};
bool cmp(Coin a,Coin b){
	if(a.each>b.each) return true;
	else return false;
}
Coin luogu[105];
int main(){
	int n,t,sum=0,cnt=0;
	cin>>n>>t;
	for(int i=0;i<n;i++){
		cin>>luogu[i].m>>luogu[i].v;
		luogu[i].each=1.0*luogu[i].m/luogu[i].v;
	}
	sort(luogu,luogu+n,cmp);
	while(sum<=t){
		int i=0;
		i++;
		if(luogu[i].m<=t){
			cnt+=luogu[i].v;
			sum+=luogu[i].m;
		}
		else{
		    if(sum==0){
		    	cnt+=luogu[i].each*(t/luogu[i].m);
		    	sum+=t/luogu[i].m;
			}
			else{
				cnt+=luogu[i].each*(sum/luogu[i].m);
				sum+=sum/luogu[i].m;
			}
		}
	}
	cout<<fixed<<setprecision(2)<<1.0*cnt;
	return 0;
}
2021/7/17 14:50
加载中...