Cod sursa(job #1522888)

Utilizator retarded_dolphinChivu Stefan retarded_dolphin Data 12 noiembrie 2015 02:16:45
Problema Transport Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <iostream>
#include <fstream>


using namespace std;
ifstream in("transport.in");
ofstream out("transport.out");





int main()
{
int n,k,i,c,ctemp,ktemp,v[16001],suma=0;
in>>n>>k;
int maxim=0;
for(i=0;i<n;i++)
	{in>>v[i];suma+=v[i];if(maxim<v[i])maxim=v[i];}






for(c=max(suma/k,maxim);c<=suma;c+=1000)
{ctemp=c;ktemp=k;
for(i=0;i<n;i++)
	{if(v[i]<=ctemp)ctemp-=v[i];
		else {ktemp--;ctemp=c;i--; if(!ktemp)break;    }
	}



if((ktemp>0||(ktemp==0&&i==n)))	break;

}

for(c=c-990;c<=suma;c++)
{ctemp=c;ktemp=k;
for(i=0;i<n;i++)
	{if(v[i]<=ctemp)ctemp-=v[i];
		else {ktemp--;ctemp=c;i--; if(!ktemp)break;    }
	}



if((ktemp>0||(ktemp==0&&i==n)))	{out<<c;return 0;}

}








return -1;
  
}