#include <algorithm>
#include <cstdio>
using namespace std;
int fun[ 110 ] , cost[ 110 ] ;
int n, budgt;
int main( ) {
while ( scanf ( "%d%d" , & budgt, & n) && budgt + n) {
int dpfun[ 110 ] [ 510 ] , dpcost[ 110 ] [ 510 ] ;
for ( int i = 0 ; i < n; ++ i) scanf ( "%d%d" , & cost[ i] , & fun[ i] ) ;
for ( int i = 0 ; i < n; ++ i)
for ( int j = 0 ; j <= budgt; ++ j) {
if ( j < cost[ i] ) {
dpfun[ i + 1 ] [ j] = dpfun[ i] [ j] ;
dpcost[ i + 1 ] [ j] = dpcost[ i] [ j] ;
} else {
dpfun[ i + 1 ] [ j] = max( dpfun[ i] [ j] , dpfun[ i] [ j - cost[ i] ] + fun[ i] ) ;
if ( dpfun[ i] [ j] < dpfun[ i] [ j - cost[ i] ] + fun[ i] ) {
dpcost[ i + 1 ] [ j] = dpcost[ i] [ j - cost[ i] ] + cost[ i] ;
} else {
dpcost[ i + 1 ] [ j] =
min( dpcost[ i] [ j - cost[ i] ] + cost[ i] , dpcost[ i] [ j] ) ;
}
}
}
printf ( "%d %d\n " , dpcost[ n] [ budgt] , dpfun[ n] [ budgt] ) ;
}
return 0 ;
} #include <algorithm>
#include <cstdio>
using namespace std;
int fun[ 110 ] , cost[ 110 ] ;
int n, budgt;
int main( ) {
while ( scanf ( "%d%d" , & budgt, & n) && budgt + n) {
int dpfun[ 110 ] [ 510 ] , dpcost[ 110 ] [ 510 ] ;
for ( int i = 0 ; i < n; ++ i) scanf ( "%d%d" , & cost[ i] , & fun[ i] ) ;
for ( int i = 0 ; i < n; ++ i)
for ( int j = 0 ; j <= budgt; ++ j) {
if ( j < cost[ i] ) {
dpfun[ i + 1 ] [ j] = dpfun[ i] [ j] ;
dpcost[ i + 1 ] [ j] = dpcost[ i] [ j] ;
} else {
dpfun[ i + 1 ] [ j] = max( dpfun[ i] [ j] , dpfun[ i] [ j - cost[ i] ] + fun[ i] ) ;
if ( dpfun[ i] [ j] < dpfun[ i] [ j - cost[ i] ] + fun[ i] ) {
dpcost[ i + 1 ] [ j] = dpcost[ i] [ j - cost[ i] ] + cost[ i] ;
} else {
dpcost[ i + 1 ] [ j] =
min( dpcost[ i] [ j - cost[ i] ] + cost[ i] , dpcost[ i] [ j] ) ;
}
}
}
printf ( "%d %d\n " , dpcost[ n] [ budgt] , dpfun[ n] [ budgt] ) ;
}
return 0 ;
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGNzdGRpbz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IGZ1blsxMTBdLCBjb3N0WzExMF07CmludCBuLCBidWRndDsKaW50IG1haW4oKSB7CiAgd2hpbGUgKHNjYW5mKCIlZCVkIiwgJmJ1ZGd0LCAmbikgJiYgYnVkZ3QgKyBuKSB7CiAgICBpbnQgZHBmdW5bMTEwXVs1MTBdLCBkcGNvc3RbMTEwXVs1MTBdOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyArK2kpIHNjYW5mKCIlZCVkIiwgJmNvc3RbaV0sICZmdW5baV0pOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyArK2kpCiAgICAgIGZvciAoaW50IGogPSAwOyBqIDw9IGJ1ZGd0OyArK2opIHsKICAgICAgICBpZiAoaiA8IGNvc3RbaV0pIHsKICAgICAgICAgIGRwZnVuW2kgKyAxXVtqXSA9IGRwZnVuW2ldW2pdOwogICAgICAgICAgZHBjb3N0W2kgKyAxXVtqXSA9IGRwY29zdFtpXVtqXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgZHBmdW5baSArIDFdW2pdID0gbWF4KGRwZnVuW2ldW2pdLCBkcGZ1bltpXVtqIC0gY29zdFtpXV0gKyBmdW5baV0pOwogICAgICAgICAgaWYgKGRwZnVuW2ldW2pdIDwgZHBmdW5baV1baiAtIGNvc3RbaV1dICsgZnVuW2ldKSB7CiAgICAgICAgICAgIGRwY29zdFtpICsgMV1bal0gPSBkcGNvc3RbaV1baiAtIGNvc3RbaV1dICsgY29zdFtpXTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGRwY29zdFtpICsgMV1bal0gPQogICAgICAgICAgICAgICAgbWluKGRwY29zdFtpXVtqIC0gY29zdFtpXV0gKyBjb3N0W2ldLCBkcGNvc3RbaV1bal0pOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgcHJpbnRmKCIlZCAlZFxuIiwgZHBjb3N0W25dW2J1ZGd0XSwgZHBmdW5bbl1bYnVkZ3RdKTsKICB9CiAgcmV0dXJuIDA7Cn0jaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8Y3N0ZGlvPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgZnVuWzExMF0sIGNvc3RbMTEwXTsKaW50IG4sIGJ1ZGd0OwppbnQgbWFpbigpIHsKICB3aGlsZSAoc2NhbmYoIiVkJWQiLCAmYnVkZ3QsICZuKSAmJiBidWRndCArIG4pIHsKICAgIGludCBkcGZ1blsxMTBdWzUxMF0sIGRwY29zdFsxMTBdWzUxMF07CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47ICsraSkgc2NhbmYoIiVkJWQiLCAmY29zdFtpXSwgJmZ1bltpXSk7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47ICsraSkKICAgICAgZm9yIChpbnQgaiA9IDA7IGogPD0gYnVkZ3Q7ICsraikgewogICAgICAgIGlmIChqIDwgY29zdFtpXSkgewogICAgICAgICAgZHBmdW5baSArIDFdW2pdID0gZHBmdW5baV1bal07CiAgICAgICAgICBkcGNvc3RbaSArIDFdW2pdID0gZHBjb3N0W2ldW2pdOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBkcGZ1bltpICsgMV1bal0gPSBtYXgoZHBmdW5baV1bal0sIGRwZnVuW2ldW2ogLSBjb3N0W2ldXSArIGZ1bltpXSk7CiAgICAgICAgICBpZiAoZHBmdW5baV1bal0gPCBkcGZ1bltpXVtqIC0gY29zdFtpXV0gKyBmdW5baV0pIHsKICAgICAgICAgICAgZHBjb3N0W2kgKyAxXVtqXSA9IGRwY29zdFtpXVtqIC0gY29zdFtpXV0gKyBjb3N0W2ldOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZHBjb3N0W2kgKyAxXVtqXSA9CiAgICAgICAgICAgICAgICBtaW4oZHBjb3N0W2ldW2ogLSBjb3N0W2ldXSArIGNvc3RbaV0sIGRwY29zdFtpXVtqXSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICBwcmludGYoIiVkICVkXG4iLCBkcGNvc3Rbbl1bYnVkZ3RdLCBkcGZ1bltuXVtidWRndF0pOwogIH0KICByZXR1cm4gMDsKfQ==
compilation info
prog.cpp:28:2: error: stray '#' in program
}#include <algorithm>
^
prog.cpp:28:3: error: 'include' does not name a type
}#include <algorithm>
^
prog.cpp:31:12: error: redefinition of 'int fun [110]'
int fun[110], cost[110];
^
prog.cpp:4:5: note: 'int fun [110]' previously declared here
int fun[110], cost[110];
^
prog.cpp:31:23: error: redefinition of 'int cost [110]'
int fun[110], cost[110];
^
prog.cpp:4:15: note: 'int cost [110]' previously declared here
int fun[110], cost[110];
^
prog.cpp:32:5: error: redefinition of 'int n'
int n, budgt;
^
prog.cpp:5:5: note: 'int n' previously declared here
int n, budgt;
^
prog.cpp:32:8: error: redefinition of 'int budgt'
int n, budgt;
^
prog.cpp:5:8: note: 'int budgt' previously declared here
int n, budgt;
^
prog.cpp: In function 'int main()':
prog.cpp:33:5: error: redefinition of 'int main()'
int main() {
^
prog.cpp:6:5: note: 'int main()' previously defined here
int main() {
^
stdout