#include #define MaxN 10000 int N; int Prijmy[MaxN]; int main(void) { int i; int MaxZacatek,MaxKonec,MaxSoucet; int Zacatek,Soucet; scanf("%d",&N); for (i = 0;i < N;i++) scanf("%d",Prijmy+i); MaxZacatek = MaxKonec = Zacatek = 0; Soucet = MaxSoucet = Prijmy[0]; for (i = 1;i < N;i++) { if (Soucet < 0) { // zakladame novou posloupnost Zacatek = i; Soucet = Prijmy[i]; } else // zustavame u stare ... Soucet += Prijmy[i]; if (Soucet > MaxSoucet) { MaxSoucet = Soucet; MaxZacatek = Zacatek; MaxKonec = i; } } printf("%d %d %d\n",MaxZacatek+1,MaxKonec+1,MaxSoucet); return 0; }