Pagini recente » Monitorul de evaluare | Cod sursa (job #265501) | Cod sursa (job #167529) | Cod sursa (job #78442) | Cod sursa (job #2152825)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
const int MAXN = 7000005;
int n,i,S[MAXN];
#define Max(a, b) ((a) > (b) ? (a) : (b))
int main()
{
ifstream fin("ssm.in");
fin>>n;
for(i=1;i<=n;i++)
fin>>S[i];
int bestSum = -int(2e9), min = 0, idx, beg, end;
for(i=1;i<=n;i++){
S[i]+=S[i-1];
if(bestSum< S[i]- min)
bestSum= S[i]-min , beg=idx+1 , end = i;
if(min>S[i])
min=S[i] ,idx=i;
}ofstream fout("ssm.out");
fout<<bestSum<<" "<<beg<<" "<<end;
fin.close(), fout.close();
return 0;
}