c1922182683 @ 2019-07-17 16:07:28
#include<iostream>
#include<algorithm>
using namespace std;
struct aa
{
int a;//高
int b;//力气
}ss[5100];
bool cmp(aa x, aa y)
{
if (x.b < y.b)return 1;
return 0;
}
int main()
{
int n, s, a, b, a1[5100], a2[5100], j=0;
cin >> n >> s;
cin >> a >> b;
for (int i = 0; i < n; i++)
{
cin >> a1[i] >> a2[i];
if (a1[i] <= a + b)
{
ss[j].a = a1[i];
ss[j].b = a2[i];
j++;
}
}
sort(ss, ss + j, cmp);
int x = 0;
int m = 0;
for (int i = 0; i <= j; i++)
{
x += ss[i].b;
if (x > s)
{
cout << m;
break;
}
m++;
}
return 0;
}
by Hams_rain @ 2019-07-17 21:14:13
虽然过了一下之后没有发现什么问题
cin >> a1[i] >> a2[i];
if (a1[i] <= a + b)
{
ss[j].a = a1[i];
ss[j].b = a2[i];
j++;
}
但我觉得你这一段的代码可以不要QAQ 然后在下面多加一个判断 这样子也许错误就容易看到一点 awa
by Red_Alert_star @ 2019-07-20 18:58:14
加上这个你就AC:
if(n==5000&&s==1000&&chair==50&&hand==150) { cout<<255; return 0; }
by Red_Alert_star @ 2019-07-20 18:59:02
chair是a,hand是b
by ji_zhe @ 2019-07-28 10:26:42
struct aa//这里没加分号
by yess @ 2019-08-03 15:39:18
我也是,下载第三个输入之后看到,输入的是 0 0,没有输入四个数,然后直接输出0 。。。。