Pagini recente » Cod sursa (job #3253313) | Cod sursa (job #2474991) | Cod sursa (job #2007043) | Cod sursa (job #500268) | Cod sursa (job #3312691)
#include <fstream>
#include <stack>
#include <queue>
#include <cmath>
#include <algorithm>
#include <iostream>
#include <set>
#include <cstring>
#include <map>
#include <string>
#include <bitset>
#include <unordered_map>
#include <unordered_set>
#define oo 2000000
#define MOD 1000000007
using namespace std;
ifstream fin("transport.in");
ofstream fout("transport.out");
int a[16005];
int n, k;
bool verif(int mij)
{
int cnt = 1,sum=0;
for (int i = 1; i <= n; i++)
{
if (sum+a[i] <= mij)
{
sum += a[i];
}
else
{
sum = a[i];
cnt++;
}
}
if (cnt <= k)return 1;
return 0;
}
int main()
{
fin >> n>>k;
for (int i = 1; i <= n; i++)
fin >> a[i];
int st = 1, dr = 256000000, mij,rez;
while (st <= dr)
{
int mij = (st + dr) / 2;
if (verif(mij))
{
dr = mij - 1;
rez = mij;
}
else st = mij + 1;
}
fout << rez;
}