Cod sursa(job #1698455)

Utilizator DiClauDan Claudiu DiClau Data 4 mai 2016 15:35:22
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include<stdio.h>
using namespace std;
int INF = 1 << 31;
int main ()
{
  FILE *in, *out;
  in = fopen ("ssm.in", "r");
  out = fopen ("ssm.out", "w");
  long long n;
  fscanf (in, "%lld", &n);
  long long i, maxim = -INF, s = 0, x, st = 1, dr = 0, stF, drF;
  for (i = 1; i <= n; i++)
  {
    if (s < 0)
    {
      s = 0;
      st = i;
      dr = i - 1;
    }
    fscanf (in, "%lld", &x);
    s += x;
    dr++;
    if (maxim < s)
    {
      maxim = s;
      stF = st;
      drF = dr;
    }
  }
  fprintf (out, "%lld %lld %lld", maxim, stF, drF);
  return 0;
}