Cod sursa(job #1767547)
Utilizator | Data | 29 septembrie 2016 14:21:39 | |
---|---|---|---|
Problema | Transport | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.89 kb |
#include <iostream>
#include <fstream>
#define NMAX 16001
using namespace std;
ifstream in("transport.in");
ofstream out("transport.out");
int v[NMAX],N,K,c,i,nr,c1;
int main()
{
in>>N;
in>>K;
for (i=0;i<N;i++)
{in>>v[i];
if (v[i]>c)
c=v[i];
}
for (i=0;i<N;i++)
{
c1+=v[i];
if (c1>c)
{nr++; c1=0; i--; }
else if (c1==c)
{
nr++; c1=0;
}
}
if (c1>0) nr++;
if (nr<=K)
out<<c;
else while (nr>K)
{
c++; nr=0; c1=0;
for (i=0;i<N;i++)
{
c1+=v[i];
if (c1>c)
{nr++; c1=0; i--; }
else if (c1==c)
{
nr++;c1=0;
}
}
if (c1>0) nr++;
}
out<<c;
return 0;
}