結果
問題 |
No.2232 Miser's Gift
|
ユーザー |
![]() |
提出日時 | 2023-08-27 00:20:47 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 85 ms / 2,000 ms |
コード長 | 479 bytes |
コンパイル時間 | 2,148 ms |
コンパイル使用メモリ | 194,180 KB |
最終ジャッジ日時 | 2025-02-16 14:55:06 |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 55 |
ソースコード
#include <bits/stdc++.h> using namespace std; using ll = long long; int main(){ int N, W, w, v; cin >> N >> W; vector<int> dp(W+1); for (int i=0; i<N; i++){ vector<int> pd(W+1); cin >> w >> v; for (int j=0; j<=W; j++){ pd[j] = max(pd[j], dp[j]); if (j+w <= W) pd[j+w] = max(pd[j+w], dp[j]+v); } swap(dp, pd); } for (int i=1; i<=W; i++) cout << dp[W]-dp[W-i]+1 << '\n'; return 0; }