Cod sursa(job #2402518)

Utilizator Briana_NeaguNeagu Briana Briana_Neagu Data 10 aprilie 2019 19:21:39
Problema Transport Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <iostream>
#include <fstream>
#define maxim 16000
using namespace std;

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

int n,k;
int v[maxim];



int nr(int x)
{  int s=0,k=0;
    for (int i=1;i<=n;i++)
    {

        if (s+v[i]>x)
        {
            k++;
            s=v[i];
        }
        else if (s+v[i]==x)
        {
            s=0;
            k++;
        }
        else s+=v[i];

    }
    if (s!=0) k++;
    return k;
}


int main()
{  int maxi=0,j=0;
  f>>n>>k;
  for (int i=1;i<=n;i++)
    {f>>v[i];
     if (v[i]>maxi)
        maxi=v[i];
     j+=v[i];
    }
int i=maxi;
while (i<=j)
{
    int m=(i+j)/2;
    if (nr(m)<=k)
        j=m-1;
    else i=m+1;
}
g<<i;

}