求助
  • 板块灌水区
  • 楼主zyx_dzpd
  • 当前回复6
  • 已保存回复6
  • 发布时间2024/10/25 20:51
  • 上次更新2024/10/25 21:25:34
查看原帖
求助
1351767
zyx_dzpd楼主2024/10/25 20:51

到底啥问题啊,明天CSP了,求调 题目

#include<bits/stdc++.h>
using namespace std;

double m[10901],v[21001],x[10001];

int main(){
	int n,i,j,t;
	double s=0;
	cin>>n>>t;
	for(i=1;i<=n;i++) cin>>m[i]>>v[i],x[i]=v[i]/m[i];
	for(i=1;i<=n;i++){
		for(j=1;j<=n;j++){
			if(x[j]<x[j+1])
				swap(v[j],v[j+1]);
				swap(m[j],m[j+1]);
				swap(x[j],x[j+1]);
		}
	}
	i=1;
	while(1){
		if(t-m[i]>-0.000001){
			t-=m[i];
			s+=v[i];
		}
		else {
			s+=x[i]*(m[i]-t);
			t=0;
			break;
		}
		i++;
	}
	printf("%.2lf",s);
	return 0;
}
2024/10/25 20:51
加载中...