結果
| 問題 |
No.145 yukiover
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2017-02-01 15:59:10 |
| 言語 | D (dmd 2.109.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,157 bytes |
| コンパイル時間 | 634 ms |
| コンパイル使用メモリ | 97,708 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-06-12 06:50:14 |
| 合計ジャッジ時間 | 1,361 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 17 WA * 3 |
ソースコード
import std.algorithm, std.conv, std.range, std.stdio, std.string;
void main()
{
auto n = readln.chomp.to!size_t;
auto s = readln.chomp;
// abcdefghijklmnopqrstuvwxyz
// 01234567890123456789012345
auto ca = 0, ci = 8, ck = 10, cu = 20, cy = 24, cz = 25;
auto hi = new int[](26);
foreach (c; s) ++hi[c - 'a'];
auto r = 0;
auto rz = hi[cz];
hi[cz] -= rz;
r += rz;
auto ry = hi[cy];
hi[cy] -= ry;
foreach (c; cu+1..cz+1) {
auto ry_ = min(ry, hi[c]);
hi[c] -= ry_;
ry -= ry_;
r += ry_;
}
auto ryu = min(ry, hi[cu]);
hi[cu] -= ryu;
ry -= ryu;
foreach (c; ck+1..cz+1) {
auto ryu_ = min(ryu, hi[c]);
hi[c] -= ryu_;
ryu -= ryu_;
r += ryu_;
}
auto ryuk = min(ryu, hi[ck]);
hi[ck] -= ryuk;
ryu -= ryuk;
foreach (c; ci+1..cz+1) {
auto ryuk_ = min(ryuk, hi[c]);
hi[c] -= ryuk_;
ryuk -= ryuk_;
r += ryuk_;
}
auto ryuki = min(ryuk, hi[ci]);
hi[ci] -= ryuki;
ryuk -= ryuki;
foreach (c; ca..cz+1) {
auto ryuki_ = min(ryuki, hi[c]);
hi[c] -= ryuki_;
ryuki -= ryuki_;
r += ryuki_;
}
r += (ry + ryu + ryuk + ryuki) / 2;
writeln(r);
}