Pagini recente » Cod sursa (job #1125251) | Cod sursa (job #2634597) | Cod sursa (job #2137900) | Cod sursa (job #1441257) | Cod sursa (job #245974)
Cod sursa(job #245974)
#include <fstream>
using namespace std;
ofstream ofis("transport.out");
ifstream ifis("transport.in");
int main()
{
int k,n,i,j,v[16032],nr;
long mij,s,s1,sol;
long max,c;
ifis>>n>>k;
s=0; max=0;
for (i=1; i<=n; i++)
{ifis>>v[i]; s+=v[i]; if (v[i]>max) max=v[i];}
mij=(s+max)/2;
while (s>max)
{
s1=0; nr=0; i=1;
while (i<=n)
{
s1+=v[i];
if (s1>mij) {s1=0; nr++;}
else i++;
}
if (nr+1<=k) {s=mij; sol=mij;}
else max=mij+1;
mij=(s+max)/2;
}
ofis<<sol;
return 0;
}