最后输出这个-1是为什么?自己写的忘记原因了
查看原帖
最后输出这个-1是为什么?自己写的忘记原因了
1428202
_I_GOT_SMOKE_楼主2024/8/21 16:08
#include <bits/stdc++.h>
using namespace std;

int main()
{
	int n,s,a,b,t = 1,sum = 0;
	int x,y;
	int k[5001] = {0};
	cin >> n >> s >> a >> b;
	for(int i = 1; i <= n; i++)
	{
		cin >> x >> y;
		if(x <= a + b)
		{
			k[t] = y;
			t++;
		}
	}
	for(int i = t - 1; i >= 1; i--)
	{
		for(int j = 1; j <= i; j++)
		{
			if(k[j] > k[j + 1])
			{
				swap(k[j],k[j + 1]);
			}
		}
	}
	for(int i = 1; i <= t; i++)
	{
		if(s - k[i] >= 0)
		{
			s = s - k[i];
			sum++;
		}
	}	
	cout << sum - 1;
	return 0;
}
2024/8/21 16:08
加载中...