我试图解决在线法官的问题( http://www.codechef.com/BTCD2012/problems/DOORS )。以下是问题的代码。当我提交时,法官给出了运行时错误(其他)。我是否使用了太多内存,如果是这样,请帮助我找到其他方法,因为内存已根据给定的约束使用.
约束如下:
0< t1 <1000000;
0<数量<100000000;
#include<stdio.h>
int a[100000001];
int main()
{
int t=3,j,k1,g,k=1,m,n=0,i,t1,num;
for(i=1;i<10000;i++)
{
m=i*i;
n=n+t;
for(j=m;j<=n;j++)
{
a[j]=k;
}
k++;
t=t+2;
// printf("a[%d]--> %d\n",n,a[n]);
}
scanf("%d",&t1);
for(k1=0;k1<t1;k1++)
{
scanf("%d",&num);
printf("%d\n",a[num]);
}
getch();
// return 0;
}