第一个点TLE,求助
查看原帖
第一个点TLE,求助
892571
ltzx2022_kanxinyi_5楼主2023/7/7 14:08
#include<bits/stdc++.h>
using namespace std;
int N,T,mx;
double sum;
struct ar{
	double m,n,wth;
} a[105];
int main(){
	cin>>N>>T;
	for(int i=1;i<=N;i++)
	{
		cin>>a[i].m>>a[i].n;
		a[i].wth=a[i].n/a[i].m;
	}
	while(T>0)
	{
		mx=1;
		for(int i=2;i<=N;i++)
		{
			if(a[mx].wth<a[i].wth)
			{
				mx=i;
			}
		}
		if(a[mx].m<=T)
		{
			sum+=a[mx].n;
			T-=a[mx].m;
		}else{
			sum+=T*a[mx].wth;
			break;
		}
		a[mx].n=a[mx].m=a[mx].wth=0;
	}
	printf("%.2lf",sum);
	return 0;
}
2023/7/7 14:08
加载中...