Cod sursa(job #131206)

Utilizator RobytzzaIonescu Robert Marius Robytzza Data 3 februarie 2008 13:31:49
Problema Transport Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <stdio.h>
#include <fstream.h>
int a[16010],n,kk;
int nr=0;
long S,max=0;
void citire()
{
   ifstream fin("transport.in");
   fin>>n>>kk;
  for (int i=0;i<n;i++)
  {  fin>>a[i];
     S+=a[i];
     max=max>a[i]?max:a[i];
  }
  fin.close();
}

long parc ()
{
  S/=n;
  if (S>max)
     max=S;
  for (long i=max;;i++){
      int k=0,aux=0,S=0;
      while (k<n)
      {
	 while (S+a[k]<=i && k<n)
	 {
	       S+=a[k++];
	 }
	 S=0;
	 aux++;
      }
  if (aux<=kk)
      return i;
  }
}

int main ()
{
  citire();
  freopen ("transport.out","w",stdout);
  printf("%ld\n",parc());
  fclose(stdout);
  return 0;
}