Pagini recente » Cod sursa (job #1572692) | Cod sursa (job #2650469) | Cod sursa (job #940117) | Cod sursa (job #2227537) | Cod sursa (job #1382830)
# include <fstream>
# include <algorithm>
# define NR 12000
# define inf -999999999
using namespace std;
ifstream f("ferma.in");
ofstream g("ferma.out");
int i,j,n,m,x,k,maxx;
int a1[NR], a2[NR], a3[NR], b1[NR], b2[NR], b3[NR];
int main ()
{
f>>n>>k;
for (j=0; j<=k+1; ++j)
{
a1[j]=inf; a2[j]=inf; a3[j]=inf;
b2[j]=inf; b3[j]=inf;
}
a2[0]=b2[0]=0;
for (i=1; i<=n; ++i)
{
f>>x;
for (j=1; j<=k+1; ++j)
{
a3[j]=max(a2[j]+x, max(a1[j-1], b2[j-1])+x);
b3[j]=max(a2[j], b2[j]);
}
for (j=1; j<=k+1; ++j)
{
a1[j]=a2[j]; a2[j]=a3[j]; a3[j]=inf;
b2[j]=b3[j]; b3[j]=inf;
}
}
maxx=max (a2[k], a2[k+1]);
maxx=max (maxx, b2[k]);
if (maxx<0) g<<"0\n";
else g<<maxx<<"\n";
return 0;
}