結果
問題 |
No.27 板の準備
|
ユーザー |
|
提出日時 | 2025-07-16 08:33:48 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 5,000 ms |
コード長 | 1,419 bytes |
コンパイル時間 | 3,373 ms |
コンパイル使用メモリ | 281,300 KB |
実行使用メモリ | 7,720 KB |
最終ジャッジ日時 | 2025-07-16 08:33:52 |
合計ジャッジ時間 | 4,313 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 18 |
ソースコード
#include <bits/stdc++.h> using namespace std; /////////////////// メイン /////////////////// int main () { //////////////////// 入力 //////////////////// int v0, v1, v2, v3; cin >> v0 >> v1 >> v2 >> v3; //////////////// 出力変数定義 //////////////// int result = 100000; //////////////////// 処理 //////////////////// for (int a=1; a<31; a++) { for (int b=a+1; b<31; b++) { for (int c=b+1; c<31; c++) { vector<vector<int>> dp_table(4,vector<int>(31,100)); dp_table.at(0).at(0) = 0; for (int j=0; j<a; j++) dp_table.at(1).at(j) = dp_table.at(0).at(j); for (int j=a; j<31; j++) dp_table.at(1).at(j) = min(dp_table.at(0).at(j),dp_table.at(1).at(j-a)+1); for (int j=0; j<b; j++) dp_table.at(2).at(j) = dp_table.at(1).at(j); for (int j=b; j<31; j++) dp_table.at(2).at(j) = min(dp_table.at(1).at(j),dp_table.at(2).at(j-b)+1); for (int j=0; j<c; j++) dp_table.at(3).at(j) = dp_table.at(2).at(j); for (int j=c; j<31; j++) dp_table.at(3).at(j) = min(dp_table.at(2).at(j),dp_table.at(3).at(j-c)+1); int tmp = dp_table.at(3).at(v0)+dp_table.at(3).at(v1)+dp_table.at(3).at(v2)+dp_table.at(3).at(v3); result = min(result,tmp); } } } //////////////////// 出力 //////////////////// cout << result << endl; //////////////////// 終了 //////////////////// return 0; }