Pagini recente » Cod sursa (job #1205913) | Monitorul de evaluare | Atasamentele paginii Bilute | Cod sursa (job #1239693) | Cod sursa (job #3350761)
#include <iostream>
#include <fstream>
#include <cmath>
#define NMAX 6000001
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n,mx,j,ed;
int a[NMAX],s[NMAX];
int main()
{
fin>>n;
for(int i=1;i<=n;i++)
fin>>a[i];
s[1]=a[1];
for(int i=2;i<=n;i++){
s[i]=max(s[i-1]+a[i],a[i]);
if(s[i]>mx){mx=s[i];ed=i;}
}
int m=0;
while(s[ed]!=0){
s[ed]-=a[ed-m];
m++;
j=ed-m+1;
}
fout<<mx<<" "<<j<<" "<<ed;
return 0;
}