結果
問題 |
No.710 チーム戦
|
ユーザー |
![]() |
提出日時 | 2018-06-30 01:18:32 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 79 ms / 3,000 ms |
コード長 | 587 bytes |
コンパイル時間 | 750 ms |
コンパイル使用メモリ | 69,688 KB |
最終ジャッジ日時 | 2025-01-06 11:47:17 |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 25 |
ソースコード
#include<iostream> #include<algorithm> using namespace std; typedef long long ll; ll n,a[101],b[101],dp[1000000]; int main() { cin >> n; for(int i = 0; i < n; i++) { cin >> a[i] >> b[i]; } dp[0] = 0; for(int i = 1;i <= n;i++) { for(int j = 100000;j >= a[i - 1];j--) { dp[j] = max(dp[j],dp[j - a[i - 1]] + b[i - 1]); } } ll sum = 0; for(int i = 0;i < n;i++)sum += b[i]; ll ans = 1e18; for(int i = 0;i <= 100000;i++) { ans = min(ans,max((ll)i,sum - dp[i])); } cout << ans << endl; }