Cod sursa(job #1456128)

Utilizator valentin50517Vozian Valentin valentin50517 Data 29 iunie 2015 20:55:44
Problema Transport Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("transport.in");
ofstream fout("transport.out");

int N,K,A[16002],tot,sum,k=1,tmp,rs,x;

int main(){
	fin >> N >> K;
	for(int i = 0;i<N;i++){
		fin >> A[i];
		tot+=A[i];
	}	
	rs = ceil((float)tot/K);
	fout << tot <<' ' << rs <<' ';
	for(int i = 0;i<N;i++){
		x+=A[i];
		if(x > rs){
			if(A[i] > rs) rs = A[i];else
			if(ceil((float)(tot-sum)/rs) > K-k){
				rs=ceil((float)(tot-sum)/(K-k));
				k =ceil((float)(sum+A[i])/rs); 
			}
			else{
				k++;
				x = A[i];
			}
		}
		sum+=A[i];
	}
	fout << rs;
	return 0;
}