Cod sursa(job #2471063)

Utilizator UllutzVlad Balteanu Ullutz Data 10 octombrie 2019 09:33:52
Problema Transport Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<iostream>
int v[16001];
#include<stdio.h>
using namespace std;
int main(){
freopen("transport.in","r",stdin);
freopen("transport.out","w",stdout);
int n,k,i,nr,maxx,c;
long long s,p1,p2,s1,m,b;
cin>>n>>k;
s=0;
maxx=-1;
for(i=1;i<=n;i++)
{
    cin>>v[i];
    s=s+v[i];
    if(nr>maxx)
    maxx=nr;
}
p1=maxx;
p2=s;
while(p1<=p2)
{
    m=(p1+p2)/2;
    c=1;
    s1=0;
    for(i=1;i<=n;i++)
    {
        s1=s1+v[i];
        if(s1>m)
        {
            c++;
            s1=v[i];
        }
    }
    if(c>k)
        p1=m+1;
    if(c<=k)
    {
        p2=m-1;
        b=m;
    }
}
cout<<b;
return 0;
}