Pagini recente » Borderou de evaluare (job #2883503) | Borderou de evaluare (job #3272435) | Borderou de evaluare (job #2080293) | Borderou de evaluare (job #2755964) | Cod sursa (job #1670605)
#include <fstream>
using namespace std;
ifstream f("ghiozdan.in");
ofstream gr("ghiozdan.out");
int k,n,x,i,g,j,b[75001],t[75001];
int v[201];
int main()
{
f >> n >> g;
for(i = 1; i <= n; ++i)
{
f >> x;
++v[x];
}
b[0] = 1;
for(i = 200; i >= 0; --i)
if(v[i] != 0)
for(k = g - i; k >= 0; --k)
if(b[k] != 0)
for(j = 1; j <= v[i] && k + i * j <= g; ++j)
if(b[k + i * j] == 0)
{
b[k + i * j] = b[k] + j;
t[k + i * j] = i;
}
else
break;
while(b[g] == 0)
--g;
gr << g << " " << b[g] - 1 << '\n';
while(b[g] != 1)
{
gr << t[g] << '\n';
g -= t[g];
}
return 0;
}