站外题求助
查看原帖
站外题求助
730728
Petrichor_Left楼主2023/7/8 10:48
#include<cstdio>
#include<algorithm>
#include<bits/stl_function.h>
using namespace std;
int n,m,c=0,c2=0,ans=0,i=0;
int a[100001],b[100001],c1[100001];
int main()
{
	scanf("%d%d",&n,&m);
	for(i=0;i<n;++i)scanf("%d%d",&a[i],&b[i]);
	for(i=0;i<n;++i)c+=a[i],c2+=b[i];
	if(c<=m){printf("0");return 0;}
	if(c2>m){printf("-1");return 0;}
	if(c2==m){printf("%d",n);return 0;}
	if(c>m && c2<m)
	{
	for(i=0;i<n;++i)c1[i]=a[i]-b[i];
	sort(c1,c1+n,greater<int>());
	do{c-=c1[i];i++;ans++;}
	while(c<=m);
	if(ans==n && c>m){printf("-1");return 0;}
	else printf("%d",ans);
	}
	return 0;
} 

题目传送门

2023/7/8 10:48
加载中...