結果
| 問題 |
No.27 板の準備
|
| コンテスト | |
| ユーザー |
bal4u
|
| 提出日時 | 2019-09-03 08:59:20 |
| 言語 | C (gcc 13.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 824 bytes |
| コンパイル時間 | 363 ms |
| コンパイル使用メモリ | 30,464 KB |
| 実行使用メモリ | 6,824 KB |
| 最終ジャッジ日時 | 2024-12-23 07:56:21 |
| 合計ジャッジ時間 | 1,142 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 17 WA * 1 |
ソースコード
// yukicoder: 27 板の準備
// 2019.9.3 bal4u
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int v[4];
int dp[33];
int cmp(const void *u, const void *v) { return *(int *)u - *(int *)v; }
inline static void chmin(int *a, int b) { if (*a > b) *a = b; }
int check(int *a) {
int i, j, s;
memset(dp, 0x01, sizeof(dp)); dp[0] = 0;
for (i = 1; i <= 3; i++) for (j = a[i]; j <= 30; j++) chmin(&dp[j], dp[j-a[i]]+1);
s = 0; for (i = 0; i < 4; i++) s += dp[v[i]];
return s;
}
int main()
{
int i, t, a[4], ans;
for (i = 0; i < 4; i++) scanf("%d", v+i);
qsort(v, 4, sizeof(int), cmp);
ans = 10000;
for (a[1] = 1; a[1] <= v[0]; a[1]++)
for (a[2] = a[1]+1; a[2] < v[3]; a[2]++)
for (a[3] = a[2]+1; a[3] <= v[3]; a[3]++) {
if ((t = check(a)) < ans) ans = t;
}
printf("%d\n", ans);
return 0;
}
bal4u