結果
問題 |
No.107 モンスター
|
ユーザー |
![]() |
提出日時 | 2015-09-23 12:47:57 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 525 bytes |
コンパイル時間 | 514 ms |
コンパイル使用メモリ | 66,468 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-07-19 08:47:31 |
合計ジャッジ時間 | 3,281 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 WA * 3 |
other | AC * 5 WA * 5 RE * 11 |
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:9:26: warning: ‘n’ is used uninitialized [-Wuninitialized] 9 | vector<int> dp(1 << n); | ~~^~~~ main.cpp:8:13: note: ‘n’ declared here 8 | int n,mon[20]; | ^
ソースコード
#include<iostream> #include<algorithm> #include<vector> #include<map> using namespace std; int main(){ int n,mon[20]; vector<int> dp(1 << n); cin >> n; for(int i=0;i<n;i++) cin >> mon[i]; dp[0] = 100; for(int i=0;i<(1<<n);i++){ if(dp[i] == 0) continue; int hp = 100; for(int j=0;j<n;j++){ if((i&(1<<j)) && mon[j] < 0) hp += 100; } for(int j=0;j<n;j++){ if((i&(1<<j))) continue; int tmp = min(hp,dp[i]+mon[j]); dp[i + (1 << j)] = max(dp[i + (1 << j)],tmp); } } cout << dp[(1<<n)-1] << endl; }