Cod sursa(job #356197)

Utilizator alexch16Chelariu Alexandru alexch16 Data 13 octombrie 2009 19:46:42
Problema Subsecventa de suma maxima Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream.h>
#include <iostream.h>

#define MAX 100

int main(){
  int indI, incmax, sfmax, smax=0;

  indI = 1;

  int A[MAX], n, i;

  ifstream fin("ssm.in");
  ofstream fout("ssm.out");
  fin>>n;

  for (i=1; i<=n; i++)
     fin>>A[i];

  int sum = 0;

  for (i=1; i<=n; i++){
    if (A[i] >= 0){
      sum += A[i];
      if (sum>smax)
         {
	   smax=sum;
	   incmax=indI; sfmax=i;
         }
    }
    else
    if (sum+A[i] >= 0){
       sum += A[i];
     }
     else
     {
       sum=0;
       indI = i+1;
     }
  }

  fout<<smax<<" "<<indI<<" "<<sfmax<<"\n";

  fout.close();
  fin.close();
  return 0;
}