Cod sursa(job #1812199)

Utilizator TincaMateiTinca Matei TincaMatei Data 21 noiembrie 2016 21:39:07
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <cstdio>

const int INFINIT = 2000000000;
int main() {
  int max, p1, p2, n, x, s, p;
  FILE *fin = fopen("ssm.in", "r");
  fscanf(fin, "%d", &n);
  max = -INFINIT;
  s = 0;
  p = 0;
  p1 = p2 = -1;
  for(int i = 0; i < n; ++i) {
    fscanf(fin, "%d", &x);
    s = s + x;
    if(x > s) {
      p = i;
      s = x;
    }
    if(s > max) {
      max = s;
      p1 = p;
      p2 = i;
    }
  }
  fclose(fin);
  FILE *fout = fopen("ssm.out", "w");
  fprintf(fout, "%d %d %d", max, p1 + 1, p2 + 1);
  fclose(fout);
  return 0;
}