超时加爆内存
或者说因为超时换了一种方法结果爆了内存
反正现在我是搞不定了
困得要死
先放这儿
没准哪天就想出来了
#include <stdio.h>
#define maxn 5000000int s[maxn];
int main()
{
int t;
long long l,a,b,i,j,a1,a2,min,max;
scanf("%d",&t);
while(t--)
{
scanf("%lld %lld %lld",&l,&a,&b);
if(l%2==1)printf("0\n");
else
{
a1=1;a2=l/2-a1;i=0;j=0;
while(a1<=a2)
{
s[i]=a1*a2;
a1++;a2--;i++;
j++;
}
i=0;
while(s[i]<a&&i<j)i++;
min=i;
while(s[i]<b&&i<j)i++;
max=i;
if(min<j)printf("%lld\n",max-min);
else printf("0\n");
memset(s,0,sizeof(s));
}
}
return 0;
}