Pagini recente » Cod sursa (job #1294762) | Cod sursa (job #578747) | Cod sursa (job #787426) | Cod sursa (job #3332056) | Cod sursa (job #3321142)
#include <iostream>
#include <fstream>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <vector>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int v[6000005];
int s[6000005];
int main()
{
int n;
fin >> n;
for(int i=0;i<n;i++){
fin >> v[i];
if(i==0)
s[0]=v[0];
else
s[i]=s[i-1]+v[i];
}
int max_sum=v[0],ind1,ind2;
int sum_min=v[0],ind_pos;
for(int i=1;i<n;i++){
if(sum_min>s[i-1]){
sum_min=s[i-1];
ind_pos=i;
}
if(max_sum<=s[i]-sum_min){
max_sum=max(max_sum,s[i]-sum_min);
ind1=ind_pos+1;
ind2=i+1;
}
}
fout << max_sum << " " << ind1 << " " << ind2;
return 0;
}