Pagini recente » Diferente pentru problema/cuba intre reviziile 31 si 32 | Cod sursa (job #1547192) | Cod sursa (job #883413) | Cod sursa (job #662812) | Cod sursa (job #3187213)
#include<fstream>
using namespace std;
ifstream F("transport.in");
ofstream G("transport.out");
int n,k,a[16000],i,b,c,s,t,l,r,j;
int main()
{
for(F>>n>>k;i<n;F>>a[i],b=max(b,a[i]),c+=a[i++]);
for(s=1;s<=c-b;s<<=1);
for(j=c,t=s;t;l<=k&&j>=t+b?j-=t:0,t>>=1)
for(l=1,r=0,i=0;i<n;r+=a[i],r>j-t?r=a[i],++l:0,++i);
return G<<j,0;
}