Cod sursa(job #3364697)

Utilizator Costache_Andrei_paulCostache Andrei Paul Costache_Andrei_paul Data 9 septembrie 2026 10:14:00
Problema Transport Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream fin("transport.in");
ofstream fout("transport.out");
int v[160001];
bool nigger(int n, int k, int c){
	int cnt = 0, s = 0;
	for(int i = 1; i <= n; i++){
		if(s + v[i] > c){
			cnt ++;
			s = 0;
		}
		else{
			s += v[i];
		}
	}
	if(cnt <= k)
		return true;
	else 
		return false;
}
int main(){
	int n, k;
	fin >> n >> k;
	int vmax = 0;
	for(int  i = 1; i <= n; i++){
		fin >> v[i];
		vmax = max(v[i], vmax);
	}
	int st = vmax, dr = 256000001;
	while(st < dr){
		int m = (st + dr) / 2;
		if(nigger(n, k, m) == true){
			dr = m;
		}
		else{
			st = m + 1;
		} 
	}
	fout << st;



	return 0;
}