大佬帮忙看看
查看原帖
大佬帮忙看看
638371
152chenzihao楼主2022/7/21 09:57
#include<bits/stdc++.h>
using namespace std;

struct num{
	int m,v;
}j[105];
int N,bag,ml;
double mx=-1,s=0,sy;
bool flag[105];

int main(){
	cin>>N>>bag;
	for(int i=1;i<=N;i++){
		cin>>j[i].m>>j[i].v;
	}
	sy=bag;
	for(int i=1;i<=N;i++){
		mx=-1;
		for(int u=1;u<=N;u++){
			if(flag[u]==true){
				continue;
			}
			if(j[u].v / j[u].m>mx){
				mx=j[u].v / j[u].m;
				ml=u;
			}
		}
//		cout<<mx<<"  "<<ml<<endl;
		if(j[ml].m>=sy){
			s+=mx*sy;
//			cout<<j[ml].m<<"  "<<sy<<endl;
			break;
		}else{
			s+=j[ml].v;
			sy-=j[ml].m;
		}
		flag[ml]=true;
	}
	printf("%.2lf",s);
	return 0;
}
2022/7/21 09:57
加载中...