Cod sursa(job #2802661)
Utilizator | Data | 18 noiembrie 2021 17:03:54 | |
---|---|---|---|
Problema | Transport | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.76 kb |
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("transport.in");
ofstream g("transport.out");
int v[16005],n,k,ok,ante,st,dr,mijl,cont,s=0,nr;
int main()
{
f >> n >> k ;
for (int i = 1;i<=n;i++)
{
f >> v[i];
}
st = 1;
dr = n * n;
while (st!=dr)
{
s=0;
cont = 1;
mijl = (st+dr)/2;
for (int i = 1;i<=n;i++)
{
if (s+v[i]<=mijl)
{
s+=v[i];
}else{
s = v[i];
cont++;
}
}
if(cont >= mijl)
{
st = mijl+1;
}else {
dr = mijl;
}
}
g << v[st];
return 0;
}