Pagini recente » Cod sursa (job #480083) | Cod sursa (job #131321) | Cod sursa (job #29169) | Cod sursa (job #3179567) | Cod sursa (job #1711446)
#include <iostream>
#include <fstream>
using namespace std;
const unsigned int l = 26;
unsigned int N , K;
unsigned int v[16000];
bool functie(unsigned int para){
unsigned int su = 0,i,t=1;
for(i=0;i<N;i++){
if (v[i] > para)
return false;
if(su+v[i] <= para)
su += v[i];
else {
su = v[i];
t++;
}
}
return (t <= K)?true:false;
}
int main()
{
unsigned int i, pas;
ifstream r("transport.in");
ofstream w("transport.out");
r>>N>>K;
for(i=0;i<N;i++)
r>>v[i];
r.close();
pas = 1<<l;i=0;
while(pas != 0){
if(!functie(i+pas))
i+=pas;
pas /= 2;
}
w<<i+1;
w.close();
return 0;
}