Cod sursa(job #3324760)

Utilizator Tudor_TapeTapu Tudor Cristian Tudor_Tape Data 23 noiembrie 2025 12:54:57
Problema Transport Scor 0
Compilator cpp-32 Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <fstream>
using namespace std;

ifstream cin("transport.in");
ofstream cout("transport.out");

int X[16005];
int main()
{
    int n, k;
    cin>>n>>k;
    int head=1, tail=0, mid=0;
	for (int i=1; i<=n; i++) {
		cin>>X[i];
		tail=max(tail, X[i]);
	}
	while (head<=tail) {
		int x=0, vol=0;
		mid=head+(tail-head)/2;
		for (int i=1; i<=n; i++) if (vol+X[i]>mid) x++, vol=X[i]; else vol=vol+X[i];
		x++;
		if (x<k) tail=mid-1;
		else head=mid+1;
	}
	mid=head+(tail-head)/2;
	cout<<mid;
    return 0;
}