Pagini recente » Monitorul de evaluare | Cod sursa (job #1886216) | Cod sursa (job #2455043) | Cod sursa (job #1090053) | Cod sursa (job #3350760)
#include <iostream>
#include <fstream>
#include <cmath>
#define NMAX 6000001
using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int n,mx,j,ed;
int a[NMAX],s[NMAX];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>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;
}
cout<<mx<<" "<<j<<" "<<ed;
return 0;
}