結果

問題 No.27 板の準備
ユーザー kurenai3110kurenai3110
提出日時 2016-09-27 22:16:03
言語 C++11
(gcc 11.4.0)
結果
WA  
実行時間 -
コード長 774 bytes
コンパイル時間 531 ms
コンパイル使用メモリ 65,312 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-05-01 05:48:12
合計ジャッジ時間 1,143 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1 ms
6,812 KB
testcase_01 AC 1 ms
6,944 KB
testcase_02 AC 1 ms
6,944 KB
testcase_03 AC 1 ms
6,940 KB
testcase_04 AC 2 ms
6,944 KB
testcase_05 WA -
testcase_06 WA -
testcase_07 WA -
testcase_08 WA -
testcase_09 WA -
testcase_10 AC 2 ms
6,940 KB
testcase_11 WA -
testcase_12 WA -
testcase_13 AC 1 ms
6,944 KB
testcase_14 WA -
testcase_15 AC 1 ms
6,940 KB
testcase_16 AC 1 ms
6,940 KB
testcase_17 AC 2 ms
6,940 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int DP[61];

int main()
{
	for (int j = 0; j < 61; j++)DP[j] = INT32_MAX;

	vector<int>v(4),n(4);
	cin >> v[0] >> v[1] >> v[2] >> v[3];
	sort(v.begin(), v.end());
	int a = v[0];
	for (int i = 1; i < 4; i++) {
		if (v[i] == a) {
			cout << 4 << endl;
			return 0;
		}
		a = v[i];
	}
	DP[0] = 0;
	int ans = 3;
	for (int i = 0; i < 3; i++) {
		for (int j = 0; j < 31; j++) {
			if (DP[j] == INT32_MAX)continue;
			DP[j + v[i]] = min(DP[j + v[i]], DP[j] + 1);
		}
		n[i+1] = DP[v[i+1]];
		//cout << n[i+1] << endl;
		//if (n[i + 1] == INT32_MAX)ans++;
	}
	sort(n.begin(), n.end());
	int nok = 3 - ans;
	//for (int i = 1; i <= nok; i++) {
		ans += n[1];
	//}

	cout << ans << endl;

    return 0;
}
0