提出 #73227774


ソースコード 拡げる

#include <bits/stdc++.h>
using namespace std;

int N, M;
vector<long long> W, C, remC;
vector<long long> suffixW; // suffixW[i] = sum_{k=i..N-1} W[k]

bool dfs(int i, long long remSum) {
    if (i == N) return true;

    // 减枝 1:剩余总容量 < 剩余总重量 => 不可能
    if (remSum < suffixW[i]) return false;

    long long w = W[i];

    // 减枝 2:如果当前包裹放不进任何车,直接失败
    bool anyFit = false;
    for (int j = 0; j < M; j++) {
        if (remC[j] >= w) { anyFit = true; break; }
    }
    if (!anyFit) return false;

    // 减枝 3:同层对称性(相同剩余容量的车只试一次)

    for (int j = 0; j < M; j++) {
        if (remC[j] < w) continue;
        remC[j] -= w;
        if (dfs(i + 1, remSum - w)) return true;
        remC[j] += w;
    }
    return false;
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    cin >> N >> M;
    W.resize(N);
    C.resize(M);
    for (int i = 0; i < N; i++) cin >> W[i];
    for (int j = 0; j < M; j++) cin >> C[j];

    // 大件先放,减枝更强
    sort(W.begin(), W.end(), greater<long long>());
    // 容量排序不影响可行性判断(只是帮助更快剪枝)
    sort(C.begin(), C.end(), greater<long long>());

    remC = C;

    // 预处理 suffixW
    suffixW.assign(N + 1, 0);
    for (int i = N - 1; i >= 0; i--) suffixW[i] = suffixW[i + 1] + W[i];

    long long totalCap = 0;
    for (auto x : C) totalCap += x;

    bool ok = dfs(0, totalCap);
    cout << (ok ? "Yes\n" : "No\n");
    return 0;
}

提出情報

提出日時
問題 A - 商品の品質評価
ユーザ zhishengie
言語 C++23 (GCC 15.2.0)
得点 0
コード長 1618 Byte
結果 RE
実行時間 1348 ms
メモリ > 1048576 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 0 / 200
結果
WA × 2
RE × 1
WA × 24
MLE × 1
RE × 48
セット名 テストケース
Sample sample01.txt, sample02.txt, sample03.txt
All sample01.txt, sample02.txt, sample03.txt, in01.txt, in02.txt, in03.txt, in04.txt, in05.txt, in06.txt, in07.txt, in08.txt, in09.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in20.txt, in21.txt, in22.txt, in23.txt, in24.txt, in25.txt, in26.txt, in27.txt, in28.txt, in29.txt, in30.txt, in31.txt, in32.txt, in33.txt, in34.txt, in35.txt, in36.txt, in37.txt, in38.txt, in39.txt, in40.txt, in41.txt, in42.txt, in43.txt, in44.txt, in45.txt, in46.txt, in47.txt, in48.txt, in49.txt, in50.txt, in51.txt, in52.txt, in53.txt, in54.txt, in55.txt, in56.txt, in57.txt, in58.txt, in59.txt, in60.txt, in61.txt, in62.txt, in63.txt, in64.txt, in65.txt, in66.txt, in67.txt, in68.txt, in69.txt, in70.txt
ケース名 結果 実行時間 メモリ
in01.txt WA 1 ms 3404 KiB
in02.txt WA 1 ms 3452 KiB
in03.txt WA 1 ms 3532 KiB
in04.txt RE 103 ms 3328 KiB
in05.txt RE 96 ms 3432 KiB
in06.txt RE 97 ms 5060 KiB
in07.txt RE 97 ms 3292 KiB
in08.txt WA 1 ms 3764 KiB
in09.txt RE 98 ms 5096 KiB
in10.txt RE 97 ms 5120 KiB
in11.txt RE 96 ms 4996 KiB
in12.txt WA 17 ms 6388 KiB
in13.txt RE 96 ms 5136 KiB
in14.txt RE 96 ms 5204 KiB
in15.txt RE 96 ms 4328 KiB
in16.txt RE 94 ms 3328 KiB
in17.txt WA 1 ms 3548 KiB
in18.txt RE 96 ms 4252 KiB
in19.txt RE 96 ms 4992 KiB
in20.txt WA 10 ms 6500 KiB
in21.txt WA 18 ms 6476 KiB
in22.txt RE 98 ms 4992 KiB
in23.txt RE 97 ms 4992 KiB
in24.txt RE 99 ms 4992 KiB
in25.txt RE 98 ms 5180 KiB
in26.txt RE 100 ms 5132 KiB
in27.txt RE 98 ms 5096 KiB
in28.txt RE 98 ms 4992 KiB
in29.txt RE 98 ms 3332 KiB
in30.txt RE 96 ms 3408 KiB
in31.txt RE 98 ms 3556 KiB
in32.txt RE 96 ms 3556 KiB
in33.txt RE 97 ms 3428 KiB
in34.txt RE 97 ms 3432 KiB
in35.txt WA 1348 ms 784588 KiB
in36.txt RE 99 ms 3432 KiB
in37.txt RE 150 ms 3392 KiB
in38.txt MLE 499 ms > 1048576 KiB
in39.txt RE 99 ms 3432 KiB
in40.txt WA 1 ms 3348 KiB
in41.txt WA 1 ms 3660 KiB
in42.txt WA 1 ms 3508 KiB
in43.txt RE 98 ms 3432 KiB
in44.txt WA 17 ms 6476 KiB
in45.txt RE 96 ms 4956 KiB
in46.txt RE 93 ms 5120 KiB
in47.txt RE 93 ms 5136 KiB
in48.txt RE 95 ms 5120 KiB
in49.txt RE 96 ms 4992 KiB
in50.txt RE 96 ms 4956 KiB
in51.txt RE 95 ms 5096 KiB
in52.txt RE 97 ms 5068 KiB
in53.txt RE 95 ms 4992 KiB
in54.txt RE 95 ms 5092 KiB
in55.txt RE 96 ms 4612 KiB
in56.txt RE 96 ms 5140 KiB
in57.txt WA 18 ms 6388 KiB
in58.txt RE 96 ms 3404 KiB
in59.txt RE 96 ms 3328 KiB
in60.txt RE 95 ms 3556 KiB
in61.txt WA 1 ms 3636 KiB
in62.txt WA 1 ms 3348 KiB
in63.txt WA 1 ms 3460 KiB
in64.txt WA 1 ms 3576 KiB
in65.txt RE 98 ms 3332 KiB
in66.txt RE 95 ms 3496 KiB
in67.txt WA 1 ms 3492 KiB
in68.txt WA 1 ms 3532 KiB
in69.txt WA 1 ms 3404 KiB
in70.txt WA 1 ms 3296 KiB
sample01.txt WA 1 ms 3572 KiB
sample02.txt WA 1 ms 3492 KiB
sample03.txt RE 96 ms 3408 KiB