結果
問題 | No.27 板の準備 |
ユーザー |
![]() |
提出日時 | 2018-12-10 22:29:18 |
言語 | D (dmd 2.109.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 893 bytes |
コンパイル時間 | 768 ms |
コンパイル使用メモリ | 125,584 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-13 02:11:18 |
合計ジャッジ時間 | 1,603 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 14 WA * 4 |
ソースコード
import std.stdio, std.conv, std.string, std.bigint; import std.math, std.random, std.datetime; import std.array, std.range, std.algorithm, std.container, std.format; string read(){ static string[] ss; while(!ss.length) ss = readln.chomp.split; string res = ss[0]; ss.popFront; return res; } void main(){ int v1 = read.to!int; int v2 = read.to!int; int v3 = read.to!int; int v4 = read.to!int; int ans = 10000; foreach(a; 1 .. 29) foreach(b; a + 1 .. 30) foreach(c; b + 1 .. 31){ int tmp = solve(v1, a, b, c) + solve(v2, a, b, c) + solve(v3, a, b, c) + solve(v4, a, b, c); if(tmp < ans) ans = tmp; } ans.writeln; } int solve(int v, int a, int b, int c){ int res = 10000; foreach(i; 0 .. v) foreach(j; 0 .. v){ if(i * a + j * b > v) break; if((v - i * a - j * b) % c > 0) continue; int tmp = i + j + (v - i * a - j * b) / c; if(tmp < res) res = tmp; } return res; }