Cod sursa(job #2667538)
| Utilizator | Data | 3 noiembrie 2020 16:57:25 | |
|---|---|---|---|
| Problema | Transport | Scor | 40 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 1.03 kb |
#include <fstream>
using namespace std;
ifstream fin("transport.in");
ofstream fout("transport.out");
long long n,k,v[16001],i,s,sec,ok,nr,nr2;
int main()
{
fin>>n>>k;
for(i=1;i<=n;i++)
{
fin>>v[i];
s=s+v[i];
}
if(s%k==0)
s=s/k;
else
s=s/k+1;
ok=1;
while(ok==1)
{
sec=0;
nr2=0;
nr=0;
for(i=1; i<=n; i++)
{
nr++;
if(sec+v[i]>s)
{
if(nr==1)
break;
nr=0;
nr2++;
sec=0;
}
//if(i==n)
//cout<<v[i];
sec=sec+v[i];
//cout<<sec<<" ";
if(nr2+1<=k&&i==n)
{
//cout<<sec<<" ";
//cout<<v[i]<<" ";
//cout<<nr2<<" ";
ok=0;
}
}
if(ok==0)
s--;
s++;
}
fout<<s;
return 0;
}
