CF417A Elimination

大大大水题,可以贪心,直接打贪心也行,dp更优雅.
完全背包比模板裸的题
你先跑一遍完全背包,在n*m~n*m-k中min_ans

#include
#include
using namespace std;
int dp[100*100+5];
int main()
{
    int c,d,n,m,k;
    cin>>c>>d>>n>>m>>k;
    memset(dp,-0xff,sizeof(dp));
    dp[0]=0;
    for(int j=1;j<=n*m;j++)
    {
        if(j-n>=0)
            dp[j]=min(dp[j],min(dp[j-n]+c,dp[j-1]+d));
        else
            dp[j]=min(dp[j],dp[j-1]+d);
    }
    int ans=9999999;
    for(int i=n*m-k;i<=n*m;i++)
        ans=min(dp[i],ans);
    cout<

你可能感兴趣的:(CF417A Elimination)