落昀c @ 2020-02-28 00:16:02
#include<stdio.h>
int main()
{
int n, s, a, b, i, j, p, q;
int x[5010], y[5010];
int ans = 0;
scanf("%d %d", &n, &s);
scanf("%d %d", &a, &b);
for(i = 0; i < n; i++)
{
scanf("%d %d", x + i, y + i);
}
/* for(i = 0; i < n - 1; i++)
{
for(j = i + 1; j < n; j++)
{
if(x[i] > x[j])
{
p = x[i];
x[i] = x[j];
x[j] = p;
q = y[i];
y[i] = y[j];
y[j] = q;
}
}
}
*/
for(i = 0; i < n; i++)
{
if(a + b >= x[i] && s >= y[i])
{
ans++;
s -= y[i];
}
}
printf("%d", ans);
return 0;
}
by waltz26 @ 2020-02-28 00:32:18
排序错了,应该排序花费的力气。
by 落昀c @ 2020-02-28 00:41:46
@waltz26 为什么呢???
by 落昀c @ 2020-02-28 00:44:19
@waltz26 高度 为什么不可以呢?
by waltz26 @ 2020-02-28 00:50:38
你想想,如果用高度的话,假如数据是这样的:
假设高度都适合,力气只有8的话。
by 落昀c @ 2020-02-28 08:56:41
@waltz26 ooooo 明白了明白了 谢谢^_^这么晚了还帮解题