Pagini recente » Cod sursa (job #2737202) | Cod sursa (job #2577789) | Cod sursa (job #37177) | Cod sursa (job #2888605) | Cod sursa (job #586356)
Cod sursa(job #586356)
#include <cstdio>
#define Lmax 120000000
using namespace std;
char S[Lmax];
int N, rez, rezt, st, dr, stt, drt;
int getNumber() {
static int i = 0;
int rez = 0, semn = 1;
while (!(S[i] <= '9' && S[i] >= '0' || S[i] == '-')) ++i;
if (S[i] == '-') { semn = -1; ++i; }
while (S[i] <= '9' && S[i] >= '0')
rez = rez * 10 + S[i++] - '0';
return rez*semn;
}
int main() {
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
scanf("%d\n", &N);
fgets(S, Lmax, stdin);
rez = rezt = getNumber();
st = dr = stt = drt = 1;
for (int i = 2; i <= N; ++i) {
int x = getNumber();
if (rezt + x >= x) {
rezt += x;
drt = i;
}
else {
rezt = x;
stt = drt = i;
}
if (rezt > rez) {
rez = rezt;
st = stt;
dr = drt;
}
}
printf("%d %d %d\n", rez, st, dr);
return 0;
}