Pagini recente » Cod sursa (job #1728487) | Cod sursa (job #2110239) | Profil vexxato | Cod sursa (job #2753691) | Cod sursa (job #2683390)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
int sp[6000005];
pair<int,int> minsp[6000005];
int main()
{
int n, k;
fin>>n;
minsp[0].first=2000000000;
for (int i=1; i<=n; i++) {
fin>>k;
sp[i]=sp[i-1]+k;
if (sp[i]<minsp[i-1].first) {
minsp[i].first=sp[i];
minsp[i].second=i;
}
else {
minsp[i].first=minsp[i-1].first;
minsp[i].second=minsp[i-1].second;
}
}
int st, dr, smax=0;
for (int i=2; i<=n; i++) {
if (sp[i]-minsp[i].first>smax) {
st=minsp[i].second;
dr=i;
smax=sp[i]-minsp[i].first;
}
}
fout<<smax<<" "<<st+1<<" "<<dr;
return 0;
}