c++60分求助a
查看原帖
c++60分求助a
760433
zcz0263楼主2023/1/3 17:04

改了n次后,又改回来了,实在不知道哪里出错

#include<bits/stdc++.h>
using namespace std;
struct d{
	double mu,m,u;
};
bool qqq(d a,d b){
	return a.mu>b.mu;
}
int main(){
	int n,t,i=0,j=0;double mn=0;   
	cin>>n>>t;           d l[n];
	for(;i<n;i++){
		cin>>l[i].m>>l[i].u;
		l[i].mu=1.0*l[i].u/l[i].m;
	}i=0;
	sort(l,l+n,qqq);
	while(j<t&&i<=n){
		if(l[i].u<=(t-j)){
			mn+=l[i].u;
			j+=l[i].m;
		}else{
			mn+=1.0*(t-j)*l[i].mu;
			j=t;
		}
		i++;
	}
	printf("%.2lf",mn);
}
2023/1/3 17:04
加载中...