結果

問題 No.145 yukiover
ユーザー te-shte-sh
提出日時 2017-02-01 16:59:22
言語 D
(dmd 2.107.1)
結果
AC  
実行時間 3 ms / 5,000 ms
コード長 1,076 bytes
コンパイル時間 634 ms
コンパイル使用メモリ 83,668 KB
実行使用メモリ 4,380 KB
最終ジャッジ日時 2023-09-03 01:15:19
合計ジャッジ時間 1,723 ms
ジャッジサーバーID
(参考情報)
judge13 / judge15
このコードへのチャレンジ(β)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1 ms
4,376 KB
testcase_01 AC 1 ms
4,380 KB
testcase_02 AC 1 ms
4,376 KB
testcase_03 AC 1 ms
4,376 KB
testcase_04 AC 1 ms
4,376 KB
testcase_05 AC 1 ms
4,376 KB
testcase_06 AC 1 ms
4,376 KB
testcase_07 AC 1 ms
4,376 KB
testcase_08 AC 1 ms
4,376 KB
testcase_09 AC 2 ms
4,376 KB
testcase_10 AC 1 ms
4,380 KB
testcase_11 AC 1 ms
4,376 KB
testcase_12 AC 3 ms
4,376 KB
testcase_13 AC 3 ms
4,380 KB
testcase_14 AC 3 ms
4,380 KB
testcase_15 AC 3 ms
4,376 KB
testcase_16 AC 2 ms
4,376 KB
testcase_17 AC 3 ms
4,376 KB
testcase_18 AC 3 ms
4,380 KB
testcase_19 AC 3 ms
4,376 KB
testcase_20 AC 2 ms
4,376 KB
testcase_21 AC 3 ms
4,376 KB
testcase_22 AC 3 ms
4,376 KB
testcase_23 AC 3 ms
4,376 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

import std.algorithm, std.conv, std.range, std.stdio, std.string;

void main()
{
  auto n = readln.chomp.to!size_t;
  auto s = readln.chomp;

  int ah, ii, jj, kk, lt, uu, vx, yy, zz;
  foreach (c; s) {
    if      (c <= 'h') ++ah;
    else if (c == 'i') ++ii;
    else if (c == 'j') ++jj;
    else if (c == 'k') ++kk;
    else if (c <= 't') ++lt;
    else if (c == 'u') ++uu;
    else if (c <= 'x') ++vx;
    else if (c == 'y') ++yy;
    else               ++zz;
  }

  auto r = 0;
  while (yy && uu && kk && ii && ah) { ++r; --yy; --uu; --kk; --ii; --ah; }
  while (yy && uu && kk && ii >= 2)  { ++r; --yy; --uu; --kk; ii -= 2; }
  while (yy && uu && kk && jj)       { ++r; --yy; --uu; --kk; --jj; }
  while (yy && uu && kk >= 2)        { ++r; --yy; --uu; kk -= 2; }
  while (yy && uu && lt)             { ++r; --yy; --uu; --lt; }
  while (yy && uu >= 2)              { ++r; --yy; uu -= 2; }
  while (yy && vx)                   { ++r; --yy; --vx; }
  while (yy >= 2)                    { ++r; yy -= 2; }
  while (zz)                         { ++r; --zz; }

  writeln(r);
}
0