Cod sursa(job #2952125)
| Utilizator | Data | 8 decembrie 2022 15:12:04 | |
|---|---|---|---|
| Problema | Transport | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.86 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream in ("transport.in");
ofstream out ("transport.out");
int v[16001];
int main()
{
int n,k,s=0,maxx=-1,c,mintr=1000000,s2=0,tr,i;
in >> n >> k;
for (i=1; i<=n; i++)
{
in >> v[i];
s+=v[i];
if (maxx<v[i])
{
maxx=v[i];
}
}
c=maxx;
while (c<=s && mintr!=k)
{
s2=0;
tr=0;
for (i=1; i<=n; i++)
{
if (s2+v[i]<=c)
{
s2+=v[i];
}
else
{
s2=v[i];
tr++;
}
}
if (s2>v[i-1])
{
tr++;
}
if (tr<mintr)
{
mintr=tr;
}
c++;
}
out << mintr;
return 0;
}
