結果

問題 No.710 チーム戦
コンテスト
ユーザー WutongDeath
提出日時 2025-10-23 12:18:40
言語 C++14
(gcc 15.3.0 + boost 1.92.0 + ACL)
コンパイル:
g++-15 -O2 -lm -std=c++14 -Wuninitialized -DONLINE_JUDGE -o a.out _filename_
実行:
./a.out
結果
WJ  
(最新)
AC  
(最初)
実行時間 -
コード長 575 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
最終ジャッジ日時 2026-07-15 20:27:13
ジャッジサーバーID
(参考情報)
judge3_0 / judge2_0
このコードへのチャレンジ
(要ログイン)

ソースコード

diff #
raw source code

#include <iostream>

using namespace std;

const int N = 110, M = 100010, INF = 0x3f3f3f3f;

int n, a[N], b[N], bsum, dp[M], ans;

int main() {
    scanf("%d", &n);

    bsum = 0;
    for (int i = 1; i <= n; ++i) {
        scanf("%d%d", &a[i], &b[i]);
        bsum += b[i];
    }

    for (int i = 1; i <= n; ++i) {
        for (int j = M - 1; j >= a[i]; --j) {
            dp[j] = max(dp[j], dp[j - a[i]] + b[i]);
        }
    }

    ans = INF;
    for (int i = 1; i < M; ++i) {
        ans = min(ans, max(i, bsum - dp[i]));
    }
    printf("%d\n", ans);

    return 0;
}
0