Cod sursa(job #710256)

Utilizator radu102Radu Nicolau radu102 Data 9 martie 2012 12:28:53
Problema Transport Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<iostream>
#include<fstream>
using namespace std;
int v[16001],n,k;
int verif(int x)
{
	int transp,j,i;
	for(j=1,i=1;i<=k&&j<=n;i++)
	{
		transp=x;
		while(transp>=v[j]&&j<=n)
		{
			transp-=v[j];
			j++;
		}
	}
	if(j==n+1)
		return 1;
	else return 0;
}
int main()
{
	ifstream g("cautbin.in");
	ofstream h("cautbin.out");
	int min=0, max=16000,poz,ult;
	g>>n>>k;
	for(int i=1;i<=n;i++)
	{
		g>>v[i];
		if(v[i]>min) min=v[i];
	}
	while(min!=max)
	{
		poz=(min+max)/2;
		if(verif(poz))
		{
			max=poz;
			ult=poz;
		}
		else
			min=poz+1;
	}
	h<<ult;
}