```c
#include<stdio.h>
int a[5001],b[5001];
int main()
{
int i,n,s,k=0,x,y,sw;
scanf("%d %d",&n,&s);
scanf("%d %d",&x,&y);
for(i=1;i<=n;i++)
scanf("%d %d",&a[i],&b[i]);
for(i=1;i<=n;i++)
for(int j=1;j<n;j++)
if(b[j]>b[j+1]){
sw=b[j];
b[j]=b[j+1];
b[j+1]=sw;
sw=a[j];
a[j]=a[j+1];
a[j+1]=sw;
}
for(i=1;i<=n;i++){
if(x+y>a[i])k++,s-=b[i];
if(s<0)break;
}
printf("%d\n",k);
return 0;
}
```
by 杨1振1宇 @ 2018-08-18 21:51:41
```cpp
for(i=1;i<=n;i++){
if(x+y>a[i])k++,s-=b[i];
if(s<0)break;
}
```
改为
```cpp
for(i=1;i<=n;i++){
if(x+y>a[i]&&s>=b[i])k++,s-=b[i];
if(s<0)break;
}
```
因为有可能剩下的体力不够摘第i个苹果
by 捻红尘似水 @ 2018-08-18 22:03:52
冒泡排序。。。
sort了解一下
by 捻红尘似水 @ 2018-08-18 22:09:56
好吧还有错
~~正在做的题实在不会懒得想了~~
试交了一下
刚才我发的代码,for循环里
```cpp
if(x+y>a[i]
```
改成
```cpp
if(x+y>=a[i]
```
by 捻红尘似水 @ 2018-08-18 22:22:33
谢谢大佬
by 杨1振1宇 @ 2018-08-24 20:06:51