79分求助
查看原帖
79分求助
1155764
ouxiyao楼主2024/10/13 18:39
#include<iostream>
#include<algorithm>
using namespace std;
struct cow{
	int yj,xj;
}a[65536];
bool cmp1(cow x1,cow x2){
	if(x1.yj-x1.xj==x2.yj-x2.xj) return x1.xj<x2.xj;
	return x1.yj-x1.xj>x2.yj-x2.xj;
}
bool cmp2(cow x1,cow x2){
	return x1.yj<x2.yj;
}
int main(){
	int n,k;
	long long m;
	cin>>n>>k>>m;
	for(int i = 1;i<=n;i++){
		cin>>a[i].yj>>a[i].xj;
	}
	sort(a+1,a+1+n,cmp1);
	for(int i = 1;i<=k;i++){
		swap(a[i].yj,a[i].xj);
	}
	sort(a+1,a+1+n,cmp2);
	long long cnt = 0;
	/*cout<<endl;
	for(int i = 1;i<=n;i++){
		cout<<a[i].yj<<' '<<a[i].xj<<' ';
		if(a[i].yj<a[i].xj) cout<<1<<endl;
		else cout<<0<<endl;
	}*/
	for(int i = 1;i<=n;i++){
		cnt+=a[i].yj;
		if(cnt>m){
			cout<<i-1;
			return 0;
		}
		//cout<<a[i].yj<<endl;
	}
	cout<<n;
	return 0;
} 

被注释掉的是调试代码,与程序无关

2024/10/13 18:39
加载中...