Cod sursa(job #1742483)

Utilizator BogauuuBogdan Ivancu Bogauuu Data 16 august 2016 15:29:00
Problema Transport Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>

using namespace std;

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

int a[16002];

int tran(int x,int n)
{
    int i,z;
    int nr=0;
    z=x;
    for (i=1;i<=n;i++){
        if (a[i]>x){
            x=z-a[i];
            nr++;
        }
        else
            x=x-a[i];
    }
    return nr+1;

}

int n,k,i,st,dr,mid,maxim;

int main()
{
    fin >> n >> k;
    for (i=1;i<=n;i++){
        fin >> a[i];
        if (a[i]>maxim)
            maxim=a[i];
    }
    st=maxim;
    dr=16000;
    while (st<=dr)
    {
        mid=(st+dr)/2;
        if (tran(mid,n)>k) st=mid+1;
        else dr=mid-1;
    }
    fout << st;

    return 0;
}