Pagini recente » Cod sursa (job #479091) | Cod sursa (job #908923) | Cod sursa (job #2532149) | Cod sursa (job #992253) | Cod sursa (job #800793)
Cod sursa(job #800793)
#include <cstdio>
#define max(a, b) ((a > b) ? a : b)
using namespace std;
void citire(){
int n;
int maxSecventa = -19999999;
int inceput;
int sf;
int sCurent = maxSecventa;
int inceputCurent;
scanf ("%d", &n);
for (int i = 0; i < n; ++ i){
int x;
scanf ("%d", &x);
if (x + sCurent > x){
sCurent += x;
}else{
sCurent = x;
inceputCurent = i;
}
if (sCurent > maxSecventa){
maxSecventa = sCurent;
inceput = inceputCurent + 1;
sf = i + 1;
}
}
printf ("%d %d %d\n", maxSecventa, inceput, sf);
}
int main()
{
freopen ("ssm.in", "r", stdin);
freopen ("ssm.out", "w", stdout);
citire();
return 0;
}