杭电acm1003 请教大神们看看为什么总显示 Time Limit Exceeded
杭电acm1003请教大神们看看为什么总显示TimeLimitExceeded#include<stdio.h>voidmain(){inth,N,*q,n,j,i,p,...
杭电acm1003
请教大神们看看为什么总显示 Time Limit Exceeded#include<stdio.h>
void main()
{
int h,N,*q,n,j,i,p,T,e=1,t,s=0;
int max=0,u;
int a[100000];
scanf("%d",&T);
while(e<=T)
{
if(e!=1)
printf("\n");
scanf("%d",&N);
for(j=0;j<N;j++)
{
scanf("%d",&a[j]);
max+=a[j];
}
if(N<=1)
{ max=a[0];t=0;u=1;}
else
{
t=0;u=j-1;
q=a;
for(h=N-1;h>=1;h--)
{
p=t;
for(j=0;j<=1;j++)
{
n=1;
for(i=p;;i++)
{
s+=*(q+i);
n++;
if(n<=h)
continue;
else
break;
}
if(s>max)
{
max=s;
t=p;
u=i;
}
p++;s=0;
}
}
}
printf("case %d\n",e);
printf("%d %d %d",max,t+1,u+1);
printf("\n");
e++;max=0;
}
} 展开
请教大神们看看为什么总显示 Time Limit Exceeded#include<stdio.h>
void main()
{
int h,N,*q,n,j,i,p,T,e=1,t,s=0;
int max=0,u;
int a[100000];
scanf("%d",&T);
while(e<=T)
{
if(e!=1)
printf("\n");
scanf("%d",&N);
for(j=0;j<N;j++)
{
scanf("%d",&a[j]);
max+=a[j];
}
if(N<=1)
{ max=a[0];t=0;u=1;}
else
{
t=0;u=j-1;
q=a;
for(h=N-1;h>=1;h--)
{
p=t;
for(j=0;j<=1;j++)
{
n=1;
for(i=p;;i++)
{
s+=*(q+i);
n++;
if(n<=h)
continue;
else
break;
}
if(s>max)
{
max=s;
t=p;
u=i;
}
p++;s=0;
}
}
}
printf("case %d\n",e);
printf("%d %d %d",max,t+1,u+1);
printf("\n");
e++;max=0;
}
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询