Cod sursa(job #1797542)

Utilizator btudorBazac Tudor btudor Data 4 noiembrie 2016 16:07:25
Problema Subsecventa de suma maxima Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <cstdio>

using namespace std;
int v[6000000];

int main()
{
    FILE *fin,*fout;
    fin=fopen("ssm.in" , "r");
    fout=fopen("ssm.out" , "w");
    int  n,i,j,s=0,in=0,sf=0,k=1,maxim;
    fscanf(fin,"%d",&n);
    for(i=0;i<n;i++)
        fscanf(fin,"%d",&v[i]);
        maxim=v[0];
    while(k<=n)
    {
        for(i=0;i<k;i++)
            s=s+v[i];
        if(maxim<s)
        {
            maxim=s;
            in=0;
            sf=k-1;
        }
        for(i=k;i<n;i++)
        {
            s=s+v[i]-v[i-k];
            if(maxim<s)
            {
                maxim=s;
                in=i-k+1;
                sf=i;
            }
        }
        s=0;
        k++;
    }
    fprintf(fout,"%d %d %d",maxim,in+1,sf+1);
    return 0;
}