Cod sursa(job #2977833)

Utilizator IonicaDavidIonica David IonicaDavid Data 12 februarie 2023 15:08:56
Problema Transport Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <iostream>
#include <fstream>
using namespace std;
unsigned long long ls;
unsigned int li,cnt,i,aux,n,k,tr=1,c,m,sol;
int main()
{
    ifstream f("transport.in");
    f>>n>>k;

    unsigned short int v[n];

    while(f>>aux)
    {
        v[i++]=aux;
        if(aux>li)
            li=aux;
        ls=ls+aux;
    }


f.close();


    while(li<=ls)
{tr=1;
 c=0;
        m=(li+ls)/2;


    for(i=0;i<n;i++)
  {
       if(c+v[i]>m)
    {
        tr++;
        c=v[i];
    }
    else
        c=c+v[i];

  }
  if(tr>k)
    li=m+1;
  else
  {
      sol=m;
      ls=m-1;
  }


}
ofstream g("transport.out");

g<<sol;

g.close();

    return 0;
}