Pagini recente » Cod sursa (job #2547480) | Cod sursa (job #1399404) | Cod sursa (job #3209704) | Cod sursa (job #2590323) | Cod sursa (job #689758)
Cod sursa(job #689758)
#include <fstream>
#include <string>
#include <sstream>
using namespace std;
ifstream f("ghiozdan.in");
ofstream g("ghiozdan.out");
#define NMAX 20010
#define GMAX 75010
int A[200];
int S[GMAX];
int P[GMAX];
int N, G;
int main()
{
int i, j, k, x;
f >> N >> G;
for (i=1; i<=N; i++) f >> x, A[x]++;
S[0] = 1;
for (i=200; i>0; i--){
if (A[i]){
for (j=G-i; j>=0; j--){
if (S[j]){
for (k=1; k<=A[i] && j+k*i<=G && !S[j+k*i]; k++){
S[j+k*i] = 1;
P[j+k*i] = P[j] + k;
}
}
}
}
}
for (i=G; !S[i]; i--);
g << i << ' ' << P[i];
}