Pagini recente » Clasament chestii | Borderou de evaluare (job #713952) | Borderou de evaluare (job #335391) | Cod sursa (job #2985298) | Cod sursa (job #2863137)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#include <stack>
#define NMAX 2000005
using namespace std;
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
long long n,best[6000005],s[600005],beg,sf,pozmin;
long long maxi = -2e9,mini=2e9;
int main()
{
fin >> n;
for(int i=1;i<=n;++i)
{
int x;
fin >> x;
s[i]=s[i-1]+x;
if(s[i]<mini)
{
mini=s[i];
pozmin = i;
}
if(i>1)
best[i]=s[i]-mini;
else
best[i]=s[i];
if(best[i]>maxi)
{
maxi = best[i];
if(i>1)
beg = pozmin+1;
else
beg = 1;
sf = i;
}
}
fout << maxi<< " " << beg << " " << sf;
return 0;
}