結果
問題 | No.145 yukiover |
ユーザー |
|
提出日時 | 2015-09-24 15:53:03 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 4 ms / 5,000 ms |
コード長 | 1,892 bytes |
コンパイル時間 | 497 ms |
コンパイル使用メモリ | 63,920 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-07-19 08:59:35 |
合計ジャッジ時間 | 1,126 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 20 |
ソースコード
#include <iostream> #include <cstdio> #include <vector> #include <algorithm> #include <utility> #include <string> using namespace std; int main() { int n; string s; vector<int> chars(255, 0); cin >> n >> s; for (int i = 0; i < n; i++) { chars[s[i]]++; } /* for (char c = 'a'; c <= 'z'; c++) { printf("%c %d\n", c, chars[c]); } */ int ans = 0; ans += chars['z']; chars['z'] = 0; int val; // yu for (char c = 'z'; c > 'u'; c--) { if (c == 'y') { continue; } val = min(chars['y'], chars[c]); ans += val; chars['y'] -= val; chars[c] -= val; } // yuk for (char c = 'z'; c > 'k'; c--) { if (c == 'y' || c == 'u') { continue; } val = min({chars['y'], chars['u'], chars[c]}); ans += val; chars['y'] -= val; chars['u'] -= val; chars[c] -= val; } // yuki for (char c = 'z'; c > 'i'; c--) { if (c == 'y' || c == 'u' || c =='k') { continue; } val = min({chars['y'], chars['u'], chars['k'], chars[c]}); ans += val; chars['y'] -= val; chars['u'] -= val; chars['k'] -= val; chars[c] -= val; } for (char c = 'z'; c >= 'a'; c--) { if (c == 'y' || c == 'u' || c =='k' || c == 'i') { continue; } val = min({chars['y'], chars['u'], chars['k'], chars['i'], chars[c]}); ans += val; chars['y'] -= val; chars['u'] -= val; chars['k'] -= val; chars['i'] -= val; chars[c] -= val; } // yukii val = min({chars['y'], chars['u'], chars['k'], chars['i'] / 2}); ans += val; chars['y'] -= val; chars['u'] -= val; chars['k'] -= val; chars['i'] -= val * 2; // yukk val = min({chars['y'], chars['u'], chars['k'] / 2}); ans += val; chars['y'] -= val; chars['u'] -= val; chars['k'] -= val * 2; // yuu val = min(chars['y'], chars['u'] / 2); ans += val; chars['y'] -= val; chars['u'] -= val * 2; // yy val = chars['y'] / 2; ans += val; chars['y'] -= val * 2; cout << ans << endl; return 0; }