叠放箱子1ac.cpp

来自「背包类问题浅析和一些背包类问题的解答源程序。」· C++ 代码 · 共 25 行

CPP
25
字号
#include <iostream>
using namespace std;

const int N = 1009, J = 6004;
int n, w[N]={0}, s[N]={0}, f[J]={0};

int main(){
    cin >>n;
    int i, j;
    for( i=1; i<=n; ++i )
         cin >>w[i] >>s[i];
    
    for( i=n; i>0; --i )
    for( j=s[i]+w[i]; j>=w[i]; --j )
         if( f[j-w[i]] >= f[j] ) f[j] = f[j-w[i]] + 1;
    
    int ans = 0;
    for( j=6000; j>0; --j )
         if( ans < f[j] ) ans = f[j];
    cout <<ans <<endl;
    
    system( "pause" );
    return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?