Cod sursa(job #2401087)

Utilizator bilghinIsleam Bilghin bilghin Data 9 aprilie 2019 13:35:20
Problema Subsecventa de suma maxima Scor 85
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.89 kb
#include <bits/stdc++.h>

using namespace std;

int v[6000001];

int main()
{
    ios::sync_with_stdio(false);
    FILE* si=fopen("ssm.in","r");
    FILE* so=fopen("ssm.out","w");
    int n,i,in=0,sf=0,inr=0,sfr=0,maxx,sum;
    fscanf(si,"%d%d",&n,&v[0]);
    maxx=v[0];
    sum=v[0];
    for(i=1;i<n;i++){
        fscanf(si,"%d",&v[i]);
        if(v[i]>maxx){
            maxx=v[i];
            inr=i;
            sfr=i;
        }
    }
    for(i=1; i<n; i++)
    {
        sum+=v[i];
        if(sum<0)
        {
            sum=0;
            in=i+1;
            sf=i+1;
        }
        else
        {
            sf=i;
            if(sum>maxx)
            {
                maxx=sum;
                inr=in;
                sfr=sf;
            }
        }
    }
    fprintf(so,"%d %d %d",maxx,inr+1,sfr+1);

    fclose(si);
    fclose(so);

    return 0;
}