Cod sursa(job #1522909)

Utilizator Balescu_OvidiuBalescu Ovidiu-Gheorghe Balescu_Ovidiu Data 12 noiembrie 2015 09:11:27
Problema Subsecventa de suma maxima Scor 55
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <stdio.h>
#include <stdlib.h>

int main(){
    unsigned long n;
    FILE*f=fopen("ssm.in","r");
    FILE*g=fopen("ssm.out","w");
    fscanf(f,"%lu",&n);
    long *s=(long *)malloc(sizeof(long)*n);
    for(unsigned long i=0;i<n;i++)
        if(i){
            fscanf(f,"%ld",&s[i]);
            s[i]+=s[i-1];
        }else
            fscanf(f,"%ld",&s[i]);
    for(unsigned long i=0;i<n;i++)
        printf("%ld ",s[i]);
    unsigned long max_i=n-1,min_j=0;
    for(unsigned i=1;i<n;i++)
        if(s[i]<s[min_j])
            min_j=i;
    for(unsigned i=n-2;i>min_j;i--)
        if(s[max_i]<s[i])
            max_i=i;
    fprintf(g,"%ld %lu %lu",s[max_i]-s[min_j],min_j+2,max_i+1);
    fclose(f);
    fclose(g);
    return 0;
}