求助大佬,我这个为什么过不了
查看原帖
求助大佬,我这个为什么过不了
183378
2019noip楼主2020/12/17 20:05
#include<iostream>
#include<algorithm>
#include<iomanip>

using namespace std;

int main()
{
	int n,t;
	cin>>n>>t;
	int cur=t,m[n],v[n];
	double count=0;
	double a[n];
	for(int i=0;i<n;i++)
	{
	    cin>>m[i]>>v[i];
	    a[i]=v[i]/m[i];}
	    
	for(int l=0;l<n;l++){     //求出单位质量价值最大的一项 
		for(int j=0;j<n;j++){
		int flag=1;           //1则目前为最大 
		for(int k=0;k<n;k++)
			if(a[j]<a[k]) {flag=0;break;}
		if(!cur) break;       //如果满载,直接跳出循环 
		if(flag) {count+=min(cur,m[j])*v[j]/m[j];cur-=min(cur,m[j]);a[j]=0;}}}
    cout<<setiosflags(ios::fixed)<<setprecision(2)<<count;
	return 0;
 } 
2020/12/17 20:05
加载中...