Cod sursa(job #2976842)

Utilizator RektSuta Georgian Rekt Data 10 februarie 2023 10:43:24
Problema Transport Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int n, k, i, m, s, v[16001], x, aux, j, st,dr;

int
main ()
{
  f >> n >> k;
  for (i = 1; i <= n; i++)
    {
      f >> v[i];
      dr=dr+v[i];
      if (v[i] > m)
	m = v[i];
    }
  aux = 1;
  st=1;
  while (st<dr)
    { m=(st+dr)/2;s=0;
      for (i = 1; i <= n; i++)
	{
	    if(s+v[i]<=m)
		{
		   
		  s = s + v[i];
		}
	      else
	      {
	       s=v[i];
	      aux++;
	      }
	}

	    if(aux>k)
	    st=st+1;
	    else
	    dr=dr-1;
	    if(aux==k)
	    break;   
	   	aux=0;
	    
}
    g<<m+1;



  return 0;
}