Cod sursa(job #1031222)

Utilizator vlad.ulmeanu30Ulmeanu Vlad vlad.ulmeanu30 Data 15 noiembrie 2013 17:37:00
Problema Transport Scor 20
Compilator c Status done
Runda Arhiva de probleme Marime 0.92 kb
#include<stdio.h>

int v[16000];

int main()
{
    FILE *f, *g;

    int n,k,i,a,flg=0,smin=-1,s1,st,nps;

    f=fopen("transport.in","r");
    g=fopen("transport.out","w");

    fscanf(f,"%d%d",&n,&k);

    for(i=0;i<n;i++)
        fscanf(f,"%d",&v[i]);

    int s=1;

    while(flg==0)
    {
        //generez primul transport
        i=0;
        s1=0;
        while(s1<s)
        {
            s1+=v[i];
            i++;
        }

        nps=1;
        st=s1;

        while(i<n && nps<=k)
        {
            //generez urmatoarea suma
            s1=0;
            while(s1<s && i<n)
            {
                s1+=v[i];
                i++;
            }
            if(s1>st)
                st=s1;
            nps++;
        }

        if(nps==k+1)
            s++;
        else flg=1;
    }

    fprintf(g,"%d\n",st);

    fclose(f);
    fclose(g);

    return 0;
}