Cod sursa(job #596029)

Utilizator Smaug-Andrei C. Smaug- Data 15 iunie 2011 15:10:02
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <cstdio>

#define MAXN 6000010

int main(){

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

  int N, i, maxs, l, r, sum, pos;
  static int S[MAXN];

  scanf("%d", &N);
  for(i=1; i<=N; i++)
    scanf("%d", S+i);

  maxs=-(1<<30); sum=0;
  for(i=1; i<=N; i++){
    if(sum < 0)
      sum=S[i], pos=i;
    else
      sum+=S[i];

    if(sum > maxs)
      maxs=sum, l=pos, r=i;
  }

  printf("%d %d %d\n", maxs, l , r);

  return 0;

}