Pagini recente » Cod sursa (job #2812707) | Cod sursa (job #98589) | Cod sursa (job #74112) | Cod sursa (job #1019994) | Cod sursa (job #618511)
Cod sursa(job #618511)
#include <iostream>
#include <iomanip>
#include <fstream>
#include <cstring>
#include <cstdlib>
#include <string>
using namespace std;
#define INFILE "ssm.in"
#define OUTFILE "ssm.out"
#define MAXN 6000005
int v[MAXN];
int main()
{
ifstream fin(INFILE);
int n, msum, mst, mend, sum, ist;
fin >> n;
for(int i=0; i<n; i++)
fin >> v[i];
msum = v[0];
mst = mend = 0;
sum = (msum < 0 ? 0 : msum);
ist = (sum==msum ? 0 : 1);
for(int i=1; i<n; i++)
{
sum += v[i];
if( sum>msum )
mst = ist, mend = i, msum = sum;
if( sum<0 )
sum = 0, ist = i+1;
}
ofstream fout(OUTFILE);
fout << msum << " " << mst+1 << " " << mend+1 << "\n";
return 0;
}