Pagini recente » Cod sursa (job #3205507) | Cod sursa (job #1220074) | Cod sursa (job #1686612) | Cod sursa (job #2458391) | Cod sursa (job #3001539)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int solve(int n, int k, vector <int> v){
int start = -1;
for(auto i:v)
start=max(start, i);
bool ok = false;
int rez;
while(!ok){
int tact = 1, sact = 0;
for(auto i:v){
if(sact + i > start){
//cout<<sact<<" "<<i<<" "<<tact<<"\n";
tact++;
sact = i;
}
else{
sact += i;
}
}
if(tact <= k){
ok = true;
rez = start;
}
else
start++;
}
return rez;
}
int main()
{
ifstream f("transport.in");
ofstream g("transport.out");
int n;
f>>n;
int k;
f>>k;
vector <int> v;
for(int i = 1; i <= n;i++){
int x;
f>>x;
v.push_back(x);
}
g<<solve(n, k, v);
return 0;
}