Cod sursa(job #1029143)
| Utilizator | Data | 15 noiembrie 2013 00:58:52 | |
|---|---|---|---|
| Problema | Transport | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.55 kb |
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("transport.in");
ofstream g("transport.out");
int main()
{
int v[16100],i,n,k,maxim=0,t,s;
f>>n;
f>>k;
for (i=0;i<n;i++)
{f>>v[i];
if (v[i] > maxim) maxim = v[i];
}
t=k+1;
while (t > k)
{
t = 0;
s = 0;
for (i=0;i<n && t<=k;i++)
if ((s+v[i]) <= maxim) s=s+v[i];
else {t++; s=v[i];}
t++;
if (t > k) maxim++;
}
g<<maxim;
return 0;
}
