Cod sursa(job #1646862)

Utilizator tothalToth Alexandru tothal Data 10 martie 2016 18:01:45
Problema Transport Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
#define Nmax 256005
using namespace std;
int n,k;
ifstream fin("transport.in");
ofstream fout("transport.out");
int v[16005];
int ver(int val)
{int s=0;
    int kk=1;
    for(int i=1;i<=n;i++)
    {
        s=s+v[i];
        if(s>val)
        {
            s=v[i];
            kk++;
        }
    }
   return kk;
}
int rez()
{
    int L=1,R=Nmax,sol;
    while(L<=R)
    {
        int mid=(L+R)/2;
        int kk=ver(mid);
        if(kk<=k)
        {
            sol=mid;
            R=mid-1;
        }
        else
        {
        L=mid+1;
        }
    }
    return sol;
}
int main()
{
    fin>>n>>k;
    for(int i=1;i<=n;i++)
        fin>>v[i];

    fout<<rez();

}