求调
查看原帖
求调
1420919
awdfkewd楼主2024/8/24 15:18
#include<iostream>
#include<cmath>
#include"iomanip"
using namespace std;
int n,t,t1=0;
int k=0;
double cnt=0;
struct bag{
	double m,v,p;	
}a[100];

void swaps(int b,int c){
	double temp;
	temp=a[b].m;
	a[b].m=a[c].m;
	temp=a[b].v;
	a[b].v=a[c].v;
	temp=a[b].p;
	a[b].p=a[c].p;
	
}
int main(){	
	cin>>n>>t;
	for(int i=0;i<n;i++){
		cin>>a[i].m>>a[i].v;
		a[i].p=a[i].m/a[i].v;
	}
	for(int i=0;i<n;i++){
		for(int j=n-1;j>i;j++){
			if(a[j].p>a[j-1].p){
				swaps(j,j-1);
			}
		}
	}
	k=0;
	while(t>t1){
		if(a[k].m==t-t1){
			cnt+=a[k].v;
		}else if(a[k].m>t-t1){
			cnt+=a[k].v*a[k].m/(t-t1);
		}else{
			cnt+=a[k].v;
			t1+=a[k].p;
			k++;
		}
	}
	cout<<fixed<<setprecision(2)<<cnt;
}
2024/8/24 15:18
加载中...