xdncx123 @ 2021-11-12 21:47:40
#include<stdio.h>
int data[5050][2];
int main()
{
int n,s,a,b,i,sums=0,min,j,temp,sum=0,flag=0;
scanf("%d%d%d%d",&n,&s,&a,&b);
if(n==0&&s==0&&a==0&&b==0)
{
printf("0");
return 0;
}
for(i=0;i<n;i++)
{
scanf("%d%d",&data[i][0],&data[i][1]);
}
for(i=0;i<n;i++)
{
if(data[i][0]>a+b)
{data[i][1]=20000;
flag++;}
}
for(sums=0,sum=0;sums<=s&&sum<=n;)
{for(j=0,min=10000;j<n;j++)
{
if(data[j][1]<min)
{
min=data[j][1];
temp=j;
}
}
sums+=data[temp][1];
data[temp][1]=100000;
sum++;
}
printf("%d",sum-1);
return 0;
}
对于某些写法,如果第四个测评点re了,本机上0 0 0 0的输出也是0的话,那么就针对0 0 0 0的输入输出0就可以,这个题有些毛病
by boolex @ 2022-04-11 21:45:08
确实,应该多弄几个“摘完所有苹果之后仍有体力”的点