Pagini recente » Cod sursa (job #1123144) | Istoria paginii runda/simularesvi | Diferente pentru problema/triangulare intre reviziile 18 si 9 | Borderou de evaluare (job #2192347) | Cod sursa (job #2309586)
//#include <stdio.h>
//#include <bits/stdc++.h>
#include <fstream>
using namespace std;
int main()
{
//FILE*fin=fopen("ssm.in","r");
//FILE*fout=fopen("ssm.out","w");
ifstream fin("ssm.in");
ofstream fout("ssm.out");
long n,x,s=-1,i1,i2,maxx,maxi1,maxi2,i;
//fscanf(fin,"%ld",&n);
//fscanf(fin,"%ld",&x);
fin>>n;
fin>>x;
maxx=x;
maxi1=1;
maxi2=1; //daca e primul element, trebuie initializat maximul cu acel element
s=x;
i1=1;
i2=1;
for (i=1; i<n; i++)
{
//fscanf(fin,"%ld",&x);
fin>>x;
if (s<0)
{
s=x;
i1=i+1;
i2=i+1;
}
else
{
s+=x;
i2=i+1;
}
if (maxx<s)
{
maxx=s;
maxi1=i1;
maxi2=i2;
}
}
//fprintf(fout,"%ld %ld %ld",maxx,maxi1,maxi2);
fout<<maxx<<" "<<maxi1<<" "<<maxi2;
fin.close();
fout.close();
return 0;
}