Cod sursa(job #268017)

Utilizator MarquiseMarquise Marquise Data 28 februarie 2009 17:37:01
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream.h>   
  
#define NMAX 6000001
  
int N, x[NMAX], min, pm, st, dr;   
int  max;   
  
  
int main()   
{   
    int i;   
  
    ifstream f("ssm.in");   
    ofstream g("ssm.out");   
  
	f >> N;
  
    for ( i = 1; i <= N; i++)   
    {   
		f >> x[i];
  
        x[i] += x[i - 1];   
    }   
  
    max = -2000000;   
  
    for ( i = 1; i <= N; i++)   
    {   
        if ( x[i] - min  > max)   
        {   
            max = x[i] - min;   
            st = pm + 1;   
            dr = i;   
        }   
  
        if ( x[i] < min)   
        {   
            min = x[i];   
            pm = i;   
        }   
    }   
  
    g << max<<" " << st << " " << dr << "\n";    
    
  
  
    return 0;   
}