結果
| 問題 |
No.27 板の準備
|
| コンテスト | |
| ユーザー |
hotpepsi
|
| 提出日時 | 2015-05-10 00:06:53 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 915 bytes |
| コンパイル時間 | 526 ms |
| コンパイル使用メモリ | 62,428 KB |
| 実行使用メモリ | 5,376 KB |
| 最終ジャッジ日時 | 2024-07-05 21:20:15 |
| 合計ジャッジ時間 | 1,317 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 17 WA * 1 |
ソースコード
#include <iostream>
#include <algorithm>
#include <sstream>
using namespace std;
int main(int argc, char *argv[])
{
string s;
getline(cin, s);
stringstream ss(s);
int v[4];
ss >> v[0] >> v[1] >> v[2] >> v[3];
sort(v, v + 4);
int ans = 1 << 20;
for (int i = 1; i < v[3]; ++i) {
int ti[32];
for (int j = 0; j <= v[3]; ++j) {
ti[j] = ((j % i) == 0) ? (j / i) : (1 << 20);
}
for (int j = i + 1; j < v[3]; ++j) {
int tj[32];
for (int k = v[3]; k >= 0; --k) {
tj[k] = ti[k];
for (int l = j; l <= k; l += j) {
tj[k] = min(tj[k], ti[k - l] + l / j);
}
}
for (int k = j + 1; k <= v[3]; ++k) {
int tk[32];
for (int l = v[3]; l >= 0; --l) {
tk[l] = tj[l];
for (int m = k; m <= l; m += k) {
tk[l] = min(tk[l], tj[l - m] + m / k);
}
}
ans = min(ans, tk[v[0]] + tk[v[1]] + tk[v[2]] + tk[v[3]]);
}
}
}
cout << ans << endl;
return 0;
}
hotpepsi