Cod sursa(job #2219351)

Utilizator maria177Radu Maria maria177 Data 8 iulie 2018 15:33:33
Problema Transport Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
using namespace std;
ifstream in("transport.in");
ofstream out("transport.out");

int main()
{
    int n,k,v[16001],i,mx=-1,s=0,ct=0,s1=0,ct2=0,c,j;
    in>>n>>k;
    for(i=1; i<=n; i++)
    {
        in>>v[i];
        if(v[i]>mx) mx=v[i];
        s=s+v[i];
    }
    while(s>=mx)
    {
        i=(s+mx)/2;
        ct=1;
        s1=0;
        for(j=1; j<=n; j++)
        {
            s1=s1+v[j];
            if(s1>i)
            {
                ct++;
                s1=v[j];
            }
            else if(v[j]>i)
            {
                ct=k+1;
                break;
            }

        }
        if(ct<=k)
        {
            c=i;
            s=i-1;
        }
        else mx=i+1;
    }
    out<<c;
    return 0;
}