Cod sursa(job #2286100)

Utilizator patriciacCiont Patricia-Daniela patriciac Data 19 noiembrie 2018 20:06:21
Problema Transport Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <iostream>

#include <fstream>

using namespace std;

ifstream fin("transport.in");

ofstream fout("transport.out");

int maxx=0,st,dr,mij,v[1000009],n,k,ctr,cmij,s=0;

int main()

{

    fin>> n>>k;

    for (int i=1;i<=n;i++) {

        fin>> v[i];

        s=s+v[i];

        if (v[i]>maxx)

            maxx=v[i];

    }

    st=maxx;

    dr=s;

    mij=(st+dr)/2;

    while (st!=mij && dr!=mij) {

            cmij=mij;

            ctr=0;

            for (int j=1;j<=n;j++){

                    if (v[j]<cmij)

                        cmij-=v[j];

                    else {

                        ctr++;

                        cmij=mij;

                        cmij-=v[j];

                    }



            }

        if (ctr<k)

            dr=mij;

        else

            st=mij;

        mij=(st+dr)/2;



    }

    fout<< mij;



    return 0;

}