Cod sursa(job #3160824)

Utilizator raduanaRadu Ana raduana Data 25 octombrie 2023 09:06:08
Problema Transport Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>

using namespace std;

ifstream fin ("transport.in");
ofstream fout ("transport.out");

int v[16001];

int main()
{
    int n,k,nr,maxi=-1,suma=0,dr,st,mijl,gasit,contor=1,s,rez=0;
    fin>>n;
    fin>>k;
    for (int i=1; i<=n; i++)
    {
        fin>>nr;
        v[i]=nr;
        suma=suma+nr;
        if (nr>maxi)
        maxi=nr;
        dr=suma;
        st=maxi;
    }
    while (st<=dr)
    {
        for (int i=1; i<=n; i++)
        {
            mijl=(st+dr)/2;
            s=0;
            if (s+v[i]<=mijl)
            s=s+v[i];
            else
            if (s+v[i]>mijl)
            s=v[i];
            contor++;
            if (contor>k)
            st=mijl+1;
            else
            dr=mijl-1;
            rez=mijl;

        }

    }
    fout<<rez;
    return 0;
}