Cod sursa(job #1577755)

Utilizator GeorgeCalinPetruta George-Calin GeorgeCalin Data 23 ianuarie 2016 19:43:09
Problema Subsecventa de suma maxima Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <stdio.h>
#include <climits>
using namespace std;

FILE *f,*g;

int v[6000002];

int main ()
{
    f=fopen("ssm.in","r");
    g=fopen("ssm.out","w");
    int n,k,minim,max,i,poz,in,sf;
    fscanf(f,"%d ",&n);
    v[0]=0;
    for (i=1; i<=n; i++)
    {
        fscanf(f,"%d",&poz);
        v[i]=v[i-1]+poz;
    }
    max=INT_MIN;
    sf=1;
    in=1;
    for (i=2; i<=n; i++)
    {
        k=INT_MAX;
        for(int j=1;j<=i;j++)
        {
            if(v[j]<k)
            {
                  k=v[j];
                  sf=j+1;
            }
        }
        poz=v[i]-k;
        if(poz>max)
        {
            max=poz;
            in=i;
        }
    }
    fprintf(g,"%d %d %d",max,sf,in);
    fclose(f);
    fclose(g);
    return 0;
}