内存超限该怎么办?
程序代码:#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,j,k,a=0,sum=0,min,max;
int data[10000];
int **s;
scanf("%d",&k);
s=(int **)malloc(sizeof(int*)*k);
for(i=0;i<k;i++)
s[i]=(int *)malloc(sizeof(int)*k);
for(i=0;i<k;i++)
for(j=0;j<k;j++)
s[i][j]=0;
for(i=0;i<k;i++)
{
scanf("%d",&data[i]);
s[i][0]=data[i];
}
for(i=0;i<k;i++)
if(data[i]>=0)a++;
if(a==0)
{
sum=0;
min=data[0];
max=data[k-1];
}
else
{
for(i=0;i<k;i++)
for(j=1;j<k-i;j++)
s[i][j]=s[i][j-1]+data[i+j];
for(i=0;i<k;i++)
for(j=0;j<k-i;j++)
if(sum<s[i][j])
{
sum=s[i][j];
min=data[i];
max=data[i+j];
}
}
printf("%d %d %d\n",sum,min,max);
for(i=0;i<k;i++)
free(s[i]);
free(s);
return 0;
}






