Cod sursa(job #1203705)

Utilizator IonMosnoiIon Mosnoi IonMosnoi Data 1 iulie 2014 09:43:44
Problema Transport Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include<fstream>
using namespace std;
ifstream f("transport.in");
ofstream o("transport.out");

int a[20000],n,k;

int binary(int l,int r){
	if(l==r)return r;
	int m=(l+r)/2;
	int nr=0,v=0;
	for(int i=1;i<=n;i++)
	if(a[i]>m){
		nr=k+1;
		break;
	}else
	  if(v+a[i]>m){
	  	nr++;
	  	v=a[i];
	  }else{
	  	v+=a[i];
	  }
	  nr++;
	  if(nr<=k)return binary(l,m);
	  else return binary(m+1,r);
	
}

int main(){
	f>>n>>k;
	for(int i=1;i<=n;i++)f>>a[i];
	o<<binary(1,16000);
}