Pagini recente » Cod sursa (job #2901350) | Cod sursa (job #1118557)
#include <cstdio>
#define filein "ssm.in"
#define fileout "ssm.out"
using namespace std;
int v[6000001];
int s[6000001];
int n,nmax,l1max,l2max;
void citire();
void generare();
void afisare();
int main()
{
citire();
generare();
afisare();
return 0;
}
void citire()
{
FILE *in;
in=fopen(filein,"r");
fscanf(in,"%d",&n);
int i;
for (i=1; i<=n; i++)
fscanf(in,"%d",v+i);
fclose(in);
}
void generare()
{
int i,l=1;
nmax=-2100000000;
for (i=1; i<=n; i++)
{
if (v[i]>s[i-1]+v[i])
{
s[i]=v[i];
l=i;
}
else
s[i]=s[i-1]+v[i];
if (s[i]>nmax)
{
nmax=s[i];
l1max=l;
l2max=i;
}
}
}
void afisare()
{
FILE *out;
out=fopen(fileout,"w");
fprintf(out,"%d %d %d",nmax,l1max,l2max);
fclose(out);
}