Cod sursa(job #1767784)

Utilizator tudorcomanTudor Coman tudorcoman Data 29 septembrie 2016 19:06:05
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb

#include <cstdio>

const int infi = 1 << 30;

int main() {
  freopen("ssm.in", "r", stdin);
  freopen("ssm.out", "w", stdout);

  int N, x, smax = -infi, s = 0, st, dr, pos;
  scanf("%d", &N);

  for(int i = 1; i <= N; ++ i) {
    scanf("%d", &x);
    s += x;
    if(s < 0)
      s = 0, pos = i;
    if(s > smax) {
      smax = s;
      st = pos + 1;
      dr = i;
    }
  }

  printf("%d %d %d\n", smax, st, dr);
  return 0;
}