COJ 1204: Rectangles

超时加爆内存

或者说因为超时换了一种方法结果爆了内存

反正现在我是搞不定了

困得要死

先放这儿

没准哪天就想出来了


#include <stdio.h>

#define maxn 5000000

int 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;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值