Cod sursa(job #280485)

Utilizator Addy.Adrian Draghici Addy. Data 13 martie 2009 13:33:14
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <stdio.h>

int n,s,max,p,u,solp,solu,i,x;

int main() {

  FILE *f = fopen("ssm.in","r");
  FILE *g = fopen("ssm.out","w");

  fscanf(f,"%d",&n);

  fscanf(f,"%d",&s);

  max = s;
  p = u = solp = solu = 1;

  for (i=2; i<=n; i++) {
    fscanf(f,"%d",&x);

    if (s + x >=x) {
      u = i;
      s += x;
    }
    else {
      p = i;
      u = i;
      s = x;
    }

    if (s > max) {
      max = s;
      solp = p;
      solu = u;
    }
  }

  fprintf(g,"%d %d %d",max,solp,solu);

  fclose(f);
  fclose(g);

  return 0;
}