Cod sursa(job #1415714)

Utilizator tziplea_stefanTiplea Stefan tziplea_stefan Data 5 aprilie 2015 22:35:26
Problema Transport Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <fstream>
#define NM 16005

using namespace std;

ifstream fin("transport.in");
ofstream fout("transport.out");

int n,k,i,s,sum,mx,v[NM],x,nr;
bool ok;

int main()
{
    fin >> n >> k;
    for (i=1; i<=n; i++)
    {
        fin >> v[i];
        mx=max(mx, v[i]);
        sum+=v[i];
    }
    sum/=k;
    x=max(sum, mx);
    while (x<=NM)
    {
        ok=true;
        nr=sum=0;
        for (i=1; i<=n; i++)
        {
            if (sum+v[i]>x)
            {
                nr++;
                sum=v[i];
            }
            else
              sum+=v[i];
            if (nr>=k)
            {
                ok=false;
                break;
            }
        }
        if (ok==true)
        {
            fout << x << '\n';
            break;
        }
        x++;
    }
    fin.close();
    fout.close();
    return 0;
}