Cod sursa(job #618423)

Utilizator desoComan Andrei deso Data 15 octombrie 2011 17:12:54
Problema Subsecventa de suma maxima Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#include <iomanip>
#include <fstream>
#include <cstring>
#include <cstdlib>
#include <string>
using namespace std;

#define LL long long
#define INFILE "ssm.in" 
#define OUTFILE "ssm.out"


int main()
{
  freopen(INFILE, "r", stdin);
  freopen(OUTFILE, "w", stdout);

  int n, msum, mst=-1, mend, nr, sum=0, ist = 0;
  scanf("%d", &n);
  for(int i=0; i<n; i++)
  {
    scanf("%d", &nr);
    sum += nr;
    if( mst==-1 || sum>msum )
    {
      mst = ist;
      mend = i;
      msum = sum;
    }
    if( sum<0 )
    {
      sum = 0;
      ist = i+1;
    }
  }

  cout << msum << " " << mst+1 << " " << mend+1 << "\n";
	
	return 0;
}