女神苏小糖。 @ 2019-07-15 08:40:04
为什么数组要开到1000多 最后一个测试点才过 按照题目开就是278
by ViXpop @ 2019-07-15 08:46:15
看看代码?
by ViXpop @ 2019-07-15 08:47:20
@女神苏小糖。 题目中给的数据是5000啊
by 女神苏小糖。 @ 2019-07-15 08:52:41
#include<cstdio>
using namespace std;
int n;
int main() {
int a,b,s,xi[5050],yi[10005],sum=0,c=0;
scanf("%d%d",&n,&s);
scanf("%d%d",&a,&b);
for(int i=0; i<n; i++) {
scanf("%d %d",&xi[i],&yi[i]);
}
yi[n]=999999;
for(int i=0; i<n; i++) {
c=c+yi[i];
}
if(s>=c) {
for(int i=0; i<n; i++)
if(a+b==xi[i])
sum++;
} else if(s-c<0) {
for(int j=0; j<n; j++) {
for(int i=0; i<n; i++) {
int m,f,m1,f1;
m=yi[i];
m1=xi[i];
f=yi[i+1];
f1=xi[i+1];
if(m>f) {
yi[i]=f;
xi[i]=f1;
yi[i+1]=m;
xi[i+1]=m1;
}
}
}
for(int i=0; i<n; i++) {
if(a+b>=xi[i]&&s-yi[i]>=0) {
s=s-yi[i];
sum++;
}
}
}
printf("%d",sum);
}
by 女神苏小糖。 @ 2019-07-15 08:53:35
@ViXpop s不是要<=1000的吗
by ViXpop @ 2019-07-15 08:54:31
n给的范围是5000
by ViXpop @ 2019-07-15 08:55:06
@女神苏小糖。 不开到5000以上你的xi,yi数组根本存不下
by 女神苏小糖。 @ 2019-07-15 08:55:16
@ViXpop 大哥 我错了 我懂了懂了
by 拜____仁 @ 2019-07-15 09:06:58
by WuHong20050324 @ 2019-07-15 09:26:20
吃瓜群众
by VTloBong @ 2019-07-17 10:21:53
希望更丰富的展现?使用Markdown