Cod sursa(job #1527284)
| Utilizator | Data | 17 noiembrie 2015 22:57:33 | |
|---|---|---|---|
| Problema | Transport | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.57 kb |
#include <fstream>
using namespace std;
ifstream f("transport.in");
ofstream g("transport.out");
int v[16001],n,k;
int test(int Max)
{
int S=0,i,ck=0;
for(i=1; i<=n; i++)
{
if(S+v[i]<=Max) S+=v[i];
else
{
S=v[i];
ck++;
}
}
if(ck<k) return 1;
else return 0;
}
int main()
{
int i,Max=0,t=0;
f>>n>>k;
for(i=1; i<=n; i++)
{
f>>v[i];
if(v[i]>Max) Max=v[i];
}
while(t==0)
{t=test(Max); Max++;}
g<<Max-1;
return 0;
}
