Cod sursa(job #1326532)

Utilizator BLz0rDospra Cristian BLz0r Data 25 ianuarie 2015 16:42:09
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <cstdio>
#include <algorithm>
using namespace std;
 
#define inf int(1e9)
 
FILE *f = fopen ("ssm.in","r");
FILE *g = fopen ("ssm.out","w");
 
int main(){
    int N, x, st ,dr, stm, drm;
	long long s = -inf, smax = -inf;
	
    fscanf (f,"%d",&N);
	
    for (int i = 1; i <= N; ++i){
        fscanf (f,"%d",&x);
		
        if (s + x >= x){
            dr = i;
            s += x;
        }
        else{
            st = i;
            dr = i;
            s = x;
        }
         
        if (s > smax){
            smax = s;
            stm = st;
            drm = dr;
        }
        
    }
    
    fprintf (g,"%lld %d %d",smax, stm, drm);
    
    return 0;
}