Pagini recente » Cod sursa (job #2373852) | Monitorul de evaluare | Cod sursa (job #580974) | Cod sursa (job #1998657) | Cod sursa (job #2035759)
#include <bits/stdc++.h>
#define Nmax 6000005
#define INF 2000000000
using namespace std;
int v[Nmax], s[Nmax], n;
int main() {
ifstream cin ("ssm.in");
ofstream cout ("ssm.out");
int i, minim = INF, poz, left, right, sol = -INF, dr;
cin >> n;
for (i = 1; i <= n; i++) {
cin >> v[i];
s[i] = s[i - 1] + v[i];
}
for (dr = 1; dr <= n; dr++){
if(s[dr-1] < minim)
{
minim = s[dr-1];
poz = dr;
}
if (s[dr] - s[poz - 1] > sol) {
sol = s[dr] - s[poz - 1];
left = poz;
right = dr;
}
}
cout << sol << " " << left << ' ' << right;
return 0;
}