Pagini recente » Cod sursa (job #2475023) | Cod sursa (job #2567425) | Cod sursa (job #3237595) | Cod sursa (job #109514) | Cod sursa (job #2218636)
#include <fstream>
#include <iostream>
using namespace std;
int a[16000], k, n, smax, vmax;
void citire()
{
ifstream f("transport.in");
f>>n>>k;
for(int i=0;i<n;i++)
{
f>>a[i];
vmax = (vmax > a[i])? vmax:a[i];
smax += a[i];
}
}
bool OK(int C)
{
int nrtrans,s,i;
s=0;
i=0;
nrtrans=0;
while(i<n)
{
while(i<n && s + a[i] <=C)
{
s+=a[i];
i++;
}
s=0;
nrtrans++;
}
if(nrtrans<=k)
return true;
return false;
}
void rez()
{
int i;
ofstream g("transport.out");
for(i=vmax;i<=smax;++i)
{
cout<<i<<"\n";
if( OK(i) )
{
cout<<"\tok!\n";
g<<i<<"\n";
return;
}
}
}
int main()
{
citire();
rez();
return 0;
}