Pagini recente » Cod sursa (job #2833121) | Cod sursa (job #645537) | Cod sursa (job #1857760) | Cod sursa (job #1270857) | Cod sursa (job #683282)
Cod sursa(job #683282)
#include <fstream>
using namespace std;
ifstream f("ghiozdan.in");
ofstream g("ghiozdan.out");
#define NMAX 20010
#define GMAX 75010
int D1[GMAX], D2[GMAX], B1[GMAX], B2[GMAX];
int N, G;
int main()
{
int i, j, x;
f >> N >> G;
for (i=1; i<=N; i++){
f >> x;
for (j=0; j<=G; j++){
D2[j]=D1[j];
B2[j]=B1[j];
if (x<=j){
if (D1[j-x]+x>D1[j] || (D1[j-x]+x==D1[j] && B1[j-x]+1<B1[j])){
D2[j]=D1[j-x]+x;
B2[j]=B1[j-x]+1;
}
}
}
swap(D1,D2);
swap(B1,B2);
}
g << D1[G] << ' ' << B1[G];
}