Cod sursa(job #1054100)
Utilizator | Data | 13 decembrie 2013 13:05:05 | |
---|---|---|---|
Problema | Transport | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.87 kb |
#include <iostream>
#include <fstream>
using namespace std;
int main ()
{
ifstream fin ("transport.in");
ofstream fout ("transport.out");
int n,k,max=0,s=0,t=0,d=0,z=0,min=999999;
fin>>n>>k;
int v[n],var;
for(int i=0;i<n;++i)
{
fin>>v[i];
s=s+v[i];
if(max<v[i])
{
max=v[i];
}
}
int i;
bool b=false;
var=max;
if(k==1)
{
fout<<s;
}
while(b==false)
{ d=0;
z=0;
i=0;
while (i<n)
{
z=0;
while(z+v[i]<=var)
{
z=z+v[i];
++i;
}
++d;
}
if(d>k)
{
var++;
}
else
{
b=true;
fout<<var;
}
}
}