Cod sursa(job #3305256)

Utilizator Robert_StaicuRobert Staicu Robert_Staicu Data 31 iulie 2025 09:11:35
Problema Subsecventa de suma maxima Scor 100
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.82 kb
#include <stdio.h>
#include <stdlib.h>
FILE*fin,*fout;
int v[6000000];
int main()
{
    int n,smin=999999999,ssm=-999999999,inc=0,start,final,i,scur=0;
    fin=fopen("ssm.in","r");
    fout=fopen("ssm.out","w");
    fscanf(fin,"%d",&n);
    for(i=0 ; i<n ; i++){
        fscanf(fin,"%d",&v[i]);
    }
    for(i=0 ; i<n ; i++){
        scur+=v[i];
        if(scur<smin){
            smin=scur;
            inc=i+1;
        }
        if(inc==i+1){
            if(v[i]>ssm){
                ssm=v[i];
                start=inc-1;
                final=inc-1;
            }
        }
        else{
            if(scur-smin>ssm){
                ssm=scur-smin;
                start=inc;
                final=i;
            }
        }
    }
    fprintf(fout,"%d %d %d",ssm,start+1,final+1);
    return 0;
}