Cod sursa(job #1711606)

Utilizator minut1Baies Cosmin minut1 Data 31 mai 2016 19:27:55
Problema Transport Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.18 kb
#include <fstream>

using namespace std;

ifstream cin("transport.in");
ofstream cout("transport.out");

int v[16300];

int verif(int n,int nr)
{
    int drum=0,sc=0,i;
    for(i=1;i<=n;i++)
    {
        sc+=v[i];
        if(sc==nr)
            {
                sc=0;
                drum++;
            }
        else if(sc>nr)
            {
                sc=v[i];
                drum++;
            }
        }
        if(sc!=0)
            drum++;
        return drum;
}

int main()
{
    int n,k,i,max=-1,drumuri=-1,nr,sc;
    cin>>n>>k;
    for(i=1;i<=n;i++)
        {
            cin>>v[i];
            if(v[i]>max)
                max=v[i];
        }
    nr=max;
    /*while(drumuri==-1||drumuri>k)
    {
        drumuri=0;
        sc=0;
        for(i=1;i<=n;i++)
        {
            sc+=v[i];
            if(sc==nr)
            {
                sc=0;
                drumuri++;
            }
            else if(sc>nr)
                {
                    sc=v[i];
                    drumuri++;
                }
        }
        if(sc!=0)
            drumuri++;
        nr++;
    }*/
    while(verif(n,nr)>k)
            nr++;
    cout<<nr;
    cin.close();
    cout.close();
    return 0;
}