20分求助!【回报一个关注】
查看原帖
20分求助!【回报一个关注】
513855
_wzcxx楼主2022/4/29 22:20

改了快一个小时了,还是只有第一个点ACACdalaodalao们帮帮蒟蒻吧!!!

#include <cmath>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
struct cmd
{
	double m,v,xjb;
}jb[110];
int cmp(cmd a,cmd b)
{
	return a.xjb>b.xjb;
}
double sum=0.00;
int main()
{
	int n,t;
	cin>>n>>t;
	for(int i=1;i<=n;i++)    
	{
		cin>>jb[i].m>>jb[i].v;
		jb[i].xjb=(jb[i].m*1.0)/jb[i].v;
	}
	sort(jb+1,jb+1+n,cmp);
	for(int i=1;i<=n;i++)
	{
		if(t>=jb[i].m)
		{
			sum+=jb[i].v;
			t-=jb[i].m;
		}
		else   
		{
			sum+=t*jb[i].xjb;
			break;
		}
	}
	printf("%.2lf",sum);
	return 0;
}
2022/4/29 22:20
加载中...