AcWing 1022. 宠物小精灵之收服
原题链接
简单
作者:
奈绪我老婆
,
2025-01-07 16:55:38
,
所有人可见
,
阅读 1
#include<bits/stdc++.h>
using namespace std;
int n , m ,kk ;
int f[1010][510];
int w1[110] , w2[110] ;
int main()
{
cin >> n >> m >> kk ;
for (int i = 1 ; i <= kk ;i ++)
cin >> w1[i] >>w2[i];
for(int i = 1 ; i <= kk ; i ++)
for(int j = n ; j >= w1[i] ;j --)
for(int k = m ; k > w2[i] ; k--)
f[j][k] = max(f[j][k] , f[j-w1[i]][k-w2[i]] + 1);
cout<<f[n][m]<<" ";
int ans = m;
if(f[n][m]!=0){
while(f[n][ans]==f[n][m])ans--;
}
else ans=0;
cout<<m-ans;
}