Pagini recente » Cod sursa (job #1595593) | Cod sursa (job #2181435) | Cod sursa (job #2616857) | Cod sursa (job #2431134) | Cod sursa (job #2559049)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("ssm.in");
ofstream fout("ssm.out");
#define cin fin
#define cout fout
#define Nmax (int)(6*1e6)+10
int dp[Nmax];
int n;
int main()
{
cin >> n;
for(int i=1; i<=n; i++){
int x;
cin >> x;
dp[i] = dp[i-1] + x;
}
int Min = 0, poz;
int solutia = -INT_MAX, inceput = 0, sfarsit = 0;
for(int i=1; i <= n; i++) {
if(solutia < dp[i] - Min)
{
solutia = dp[i] - Min;
inceput = poz;
sfarsit = i;
}
if(dp[i] < Min)
{
Min = dp[i];
poz = i + 1;
}
}
cout << solutia << " " << inceput << " " << sfarsit;
}