为什么90分 求助
查看原帖
为什么90分 求助
1289137
yanziwei88楼主2024/9/25 20:56
#include<bits/stdc++.h>
using namespace std;
struct node{
	int x,num;
}a[109];
bool coo(node x,node y){
	double x1=1.0*x.num/x.x;
	double y1=1.0*y.num/y.x;
	return x1>y1;
}
int main(){
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>a[i].x>>a[i].num;
	}
	sort(a+1,a+n+1,coo);
	int sum=0,ans=0,mn=1e9,mx=0;
	for(int i=1;i<=n;i++){
		if(ans+a[i].x<=m&&a[i].x-mn<=3&&mx-a[i].x<=3){
			sum+=a[i].num;
			ans+=a[i].x;
			mn=min(mn,a[i].x);
			mx=max(mx,a[i].x);
		}
	}
	cout<<sum<<endl;
	return 0;
}
2024/9/25 20:56
加载中...