Cod sursa(job #1325651)

Utilizator radu_uniculeu sunt radu radu_unicul Data 24 ianuarie 2015 11:26:26
Problema Subsecventa de suma maxima Scor 55
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include<cstdio>
using namespace std;
int nrmax,maxim,maximtemp,i,inceput,sfarsit,n,x;
int main()
{
    FILE *fin, *fout;
    fin=fopen("ssm.in","r");
    fout=fopen("ssm.out","w");
    fscanf(fin,"%d",&n);
    int v[n];
    for(i=0; i<n; i++)
    {
        fscanf(fin,"%d",&v[i]);
    }
    for(i=0; i<n; i++)
    {
        if(v[i]>nrmax)
        {
            nrmax=v[i];
            x=i;
        }
        maximtemp=maximtemp+v[i];
        if(maximtemp<0)
        {
            maximtemp=0;
            inceput=i+1;
        }
        if(maximtemp>maxim)
        {
            maxim=maximtemp;
            sfarsit=i;
        }
    }
    if(nrmax>0) fprintf(fout,"%d %d %d",maxim,inceput+1,sfarsit+1);
    else fprintf(fout,"%d %d %d",nrmax,x+1,x+1);
}