Pagini recente » Cod sursa (job #442856) | Autentificare | Cod sursa (job #505592) | Cod sursa (job #2016560) | Cod sursa (job #151057)
Cod sursa(job #151057)
#include<stdio.h>
#include<malloc.h>
#define fin "secv2.in"
#define fout "secv2.out"
const NMax=50001;
int N,K,Secv[NMax];
int RezInceput,RezSfarsit;
long RezSuma = 0;
void indata()
{
FILE *f=fopen(fin,"r");
fscanf(f,"%d%d",&N,&K);
for(int i = 1; i <= N; i++)
fscanf(f,"%d",Secv + i);
fclose(f);
}
void solve()
{
int *SecvTemp, SumTemp, InceputTemp, SfarsitTemp, SumTempMax, InceputTempMax, SfarsitTempMax, NSecvTemp;
SumTemp = 0;
for(int i = 1; i <= N; i++)
{
NSecvTemp = N - i + 1;
SecvTemp = (int *) malloc (NSecvTemp * sizeof(int));
InceputTemp = i;
SecvTemp [i] = Secv [i];
for(int j = i+1; j <= N; j++)
{
SecvTemp [j] = SecvTemp [j-1] + Secv [j];
if(SecvTemp [j] > SumTemp)
{
SumTemp = SecvTemp [j];
SfarsitTemp = j;
}
}
if(SumTemp > SumTempMax)
{
SumTempMax = SumTemp;
InceputTempMax = InceputTemp;
SfarsitTempMax = SfarsitTemp;
}
}
RezSuma = SumTempMax;
RezInceput = InceputTempMax;
RezSfarsit = SfarsitTempMax;
}
void outdata()
{
FILE *f=fopen(fout,"w");
fprintf(f,"%d %d %ld", RezInceput, RezSfarsit, RezSuma);
fclose(f);
}
int main()
{
indata();
solve();
outdata();
return 0;
}