Cod sursa(job #2083476)

Utilizator alex02Grigore Alexandru alex02 Data 7 decembrie 2017 19:17:35
Problema Transport Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include "stdafx.h"
#include <iostream>
#include <fstream>

using namespace std;

bool vol_min(int n, int k, int* a, int volCamion)
{
    int nrTransporturi=1, suma=0;
    for(int i=0; i<n; i++)
    {
        if(suma+a[i]<=volCamion)        			
            suma+=a[i];			       
        else
        {			
            nrTransporturi++;
            if(nrTransporturi>k) return false;
            suma=0;
            i--;
        }
    }
    return true;
}

int main()
{
    ifstream f("transport.in");
    ofstream g("transport.out");

    int n, k, a[16000], volMinCamion=0, sumaVolSaltele=0;
    f>>n>>k;	
    for(int i=0; i<n; i++)
    {
        f>>a[i];		
        if(volMinCamion<a[i])
            volMinCamion=a[i];
        sumaVolSaltele+=a[i];
    }	    
    for(; volMinCamion<sumaVolSaltele; volMinCamion++)
         if(vol_min(n,k,a,volMinCamion)) break;
       
   // cout<<"volum minim camion: "<<volMinCamion<<endl;
	g<<volMinCamion;
    return 0;
}