Pagini recente » Cod sursa (job #1148390) | Rating Olivia Davidescu (OliviaDavidescu) | Cod sursa (job #2804362) | Cod sursa (job #219187) | Cod sursa (job #948605)
Cod sursa(job #948605)
#include <fstream>
using namespace std;
ifstream f("transport.in");
ofstream g("transport.out");
int n, k, s, i, a[16010], aux;
int verif(int x){
int v=0, nr=0;
for(i=1; i<=n; i++)
{
if(a[i]>x)
return 0;
if(v+a[i]<=x)
v+=a[i];
else
{
nr++;
v=a[i];
}
}
if(nr<k)
return 1;
return 0;
}
int main(){
f>>n>>k;
for(i=1; i<=n; i++)
f>>a[i];
f.close();
while( !(verif(s+1) && !verif(s)) )
{
aux=1;
while( !verif(s+aux) )
aux*=2;
s+=aux/2;
}
g<<s+1;
g.close();
return 0;
}