Cod sursa(job #1946800)

Utilizator stef2003Bud Stefan stef2003 Data 30 martie 2017 15:01:56
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <iostream>
#include <stdio.h>

using namespace std;

int main() {
  FILE *fin, *fout;
  int n, ma, st, dr, s, stc, i, a, xam, pam;
  fin=fopen("ssm.in","r");
  fout=fopen("ssm.out","w");
  fscanf(fin, "%d",&n);
  ma=0;
  st=1;
  dr=2000000000;
  s=0;
  stc=0;
  xam=-2000000000;
  pam=0;
  for(i=1;i<=n;i++) {
    fscanf(fin, "%d",&a);
    if(a>xam) {
      xam=a;
      pam=i;
    }
    s+=a;
    if(s<0) {
      s=0;
      stc=i+1;
    }
    if(s>ma) {
      ma=s;
      st=stc;
      dr=i;
    }
  }
  if(ma!=0)
    fprintf(fout, "%d %d %d",ma,st,dr);
  else
    fprintf(fout, "%d %d %d",xam,pam,pam);
  fclose( fin );
  fclose( fout );
  return 0;
}