Pagini recente » Cod sursa (job #2144020) | Cod sursa (job #148366) | Cod sursa (job #2896663) | Cod sursa (job #2648020) | Cod sursa (job #2062503)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("ghiozdan.in");
ofstream out("ghiozdan.out");
const int INF = 1e9;
int n, g, sol;
int w[20005], dp[75005];
int main()
{
in >> n >> g;
for (int i = 1; i <= n; ++i) in >> w[i];
for (int i = 1; i <= g; ++i) dp[i] = INF;
for (int i = 1; i <= n; ++i) {
for (int j = g - w[i]; j >= 0; --j) {
if (dp[j] == INF) continue;
if (dp[j + w[i]] > dp[j] + 1) {
dp[j + w[i]] = dp[j] + 1;
}
}
}
for (int i = g; i >= 1; --i) {
if (dp[i] != INF) {
out << i << " " << dp[i];
break;
}
}
return 0;
}