1 条题解

  • 0
    @ 2025-9-13 18:57:56
    #include <bits/stdc++.h>
    using namespace std;
    int b[21];
    int main(){
    	int n,w,a;
        cin >> n >>w;
        while(n--){
            cin >> a;
            int idx = 1,c = 0x3f3f3f3f;
            for(int i = 1;i <= w - a + 1;i++){
                int m = 0;
                for(int j = i;j < i + a;j++){
                    if(b[j]+a>m){
                        m = b[j] + a;
                    }
                }
                if(m < c){
                    c = m;
                    idx = i;
                }
            }
            for(int i = idx;i < idx + a;i++){
                b[i] = c;
            }
        }
        int d = 0;
        for(int i = 1;i <= w;i++){
            if(b[i] > d){
                d = b[i];
            }
        }
        cout << d;
    	return 0;
    }
    

    信息

    ID
    8695
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    1
    已通过
    1
    上传者