Pagini recente » Cod sursa (job #363289) | Cod sursa (job #3287611) | Cod sursa (job #2658226) | Cod sursa (job #72526) | Cod sursa (job #680453)
Cod sursa(job #680453)
#include<stdio.h>
#include<fstream>
using namespace std;
int a[6000010],s[6000010],n,maxx=-2000000000,j,maxi,maxj;
void citire()
{
ifstream f("ssm.in");
f>>n;
for(int i=0;i<n;++i)
f>>a[i];
}
void ssm()
{
s[0]=a[0];
maxx=s[0];
for(int i=1;i<n;++i)
{
if(s[i-1] + a[i] > a[i] )
{
s[i] = s[i-1] + a[i];
}
else { s[i] = a[i]; j = i; }
if(s[i] > maxx || ( s[i] == maxx && (i-j < maxi - maxj ) ) )
{
maxx = s[i];
maxi=j;
maxj=i;
}
}
}
void scriere()
{
FILE *f=fopen("ssm.out","w");
fprintf(f,"%d %d %d",maxx,maxi+1,maxj+1);
fclose(f);
}
int main()
{
citire();
ssm();
scriere();
return 0;
}