Cod sursa(job #1326528)

Utilizator BLz0rDospra Cristian BLz0r Data 25 ianuarie 2015 16:31:25
Problema Subsecventa de suma maxima Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <cstdio>
#include <algorithm>
using namespace std;
 
#define inf 2147483647
 
FILE *f = fopen ("ssm.in","r");
FILE *g = fopen ("ssm.out","w");
 
int main(){
    int N, s = -inf, x, st ,dr, smax = -inf, stm, drm;
	
    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,"%d %d %d",smax, stm, drm);
    
    return 0;
}