Submission #1369989
Source Code Expand
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Text; namespace ABC009 { class MainClass { public static void Main(string[] args) { new MainClass().solve(); } const int alph = 'z' - 'a' + 1; Scanner cin; int N, K; string S; int[] f, origin; string ans; void solve() { cin = new Scanner(); N = cin.nextInt(); K = cin.nextInt(); S = cin.next(); f = new int[alph]; origin = new int[alph]; for (int i = 0; i < alph; i++) f[i] = 0; for (int i = 0; i < alph; i++) origin[i] = 0; ans = ""; //文字ごとの文字数カウント for (int i = 0; i < N; i++) { f[S[i] - 'a']++; origin[S[i] - 'a']++; } //入力に対する処理 for (int i = 0; i < N; i++) { origin[S[i] - 'a']--; //早い順に処理 for (int j = 0; j < alph; j++) { //Sに含まれる文字だった時実行 if (f[j] > 0) { f[j]--; if (S[i] != (char)(j + 'a')) K--; int diff = 0; for (int k = 0; k < alph; k++) diff += Math.Abs(origin[k] - f[k]); //処理時++と--が行われるのでdiffの値は、 //ずれ1つにつき2増える。 if (diff / 2 <= K) { ans += (char)(j + 'a'); break; } else { if (S[i] != (char)(j + 'a')) K++; f[j]++; } } } } Console.WriteLine(ans); } } class Scanner { string[] nextBuffer; int BufferCnt; char[] cs = new char[] { ' ' }; public Scanner() { nextBuffer = new string[0]; BufferCnt = 0; } public string next() { if (BufferCnt < nextBuffer.Length) return nextBuffer[BufferCnt++]; string st = Console.ReadLine(); while (st == "") st = Console.ReadLine(); nextBuffer = st.Split(cs, StringSplitOptions.RemoveEmptyEntries); BufferCnt = 0; return nextBuffer[BufferCnt++]; } public int nextInt() { return int.Parse(next()); } public long nextLong() { return long.Parse(next()); } public double nextDouble() { return double.Parse(next()); } } }
Submission Info
Submission Time | |
---|---|
Task | C - 辞書式順序ふたたび |
User | rui0422 |
Language | C# (Mono 4.6.2.0) |
Score | 100 |
Code Size | 3124 Byte |
Status | AC |
Exec Time | 21 ms |
Memory | 13268 KB |
Judge Result
Set Name | All | ||
---|---|---|---|
Score / Max Score | 100 / 100 | ||
Status |
|
Set Name | Test Cases |
---|---|
All | hand_1_0.txt, hand_1_1.txt, hand_1_2.txt, hand_1_3.txt, hand_1_4.txt, hand_1_5.txt, hand_1_6.txt, hand_1_7.txt, hand_1_8.txt, hand_2_0.txt, hand_2_1.txt, hand_2_10.txt, hand_2_2.txt, hand_2_3.txt, hand_2_4.txt, hand_2_5.txt, hand_2_6.txt, hand_2_7.txt, hand_2_8.txt, hand_2_9.txt, hand_3_2.txt, hand_3_3.txt, hand_3_4.txt, hand_3_5.txt, hand_3_6.txt, hand_4_2.txt, hand_4_3.txt, hand_4_4.txt, hand_4_5.txt, hand_4_6.txt, random_1.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, random_2.txt, random_3.txt, random_4.txt, random_5.txt, random_6.txt, random_7.txt, random_8.txt, random_9.txt, sample_1.txt, sample_2.txt, sample_3.txt, sample_4.txt, small_1.txt, small_2.txt, small_3.txt, small_4.txt, small_5.txt, small_6.txt, small_7.txt, small_8.txt, small_9.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
hand_1_0.txt | AC | 21 ms | 13268 KB |
hand_1_1.txt | AC | 20 ms | 9044 KB |
hand_1_2.txt | AC | 21 ms | 11092 KB |
hand_1_3.txt | AC | 20 ms | 11092 KB |
hand_1_4.txt | AC | 20 ms | 11092 KB |
hand_1_5.txt | AC | 20 ms | 9044 KB |
hand_1_6.txt | AC | 20 ms | 9044 KB |
hand_1_7.txt | AC | 20 ms | 11092 KB |
hand_1_8.txt | AC | 20 ms | 11092 KB |
hand_2_0.txt | AC | 20 ms | 11092 KB |
hand_2_1.txt | AC | 20 ms | 11220 KB |
hand_2_10.txt | AC | 20 ms | 11092 KB |
hand_2_2.txt | AC | 20 ms | 9044 KB |
hand_2_3.txt | AC | 20 ms | 9044 KB |
hand_2_4.txt | AC | 20 ms | 9044 KB |
hand_2_5.txt | AC | 21 ms | 11092 KB |
hand_2_6.txt | AC | 20 ms | 11220 KB |
hand_2_7.txt | AC | 20 ms | 11092 KB |
hand_2_8.txt | AC | 20 ms | 11092 KB |
hand_2_9.txt | AC | 20 ms | 9044 KB |
hand_3_2.txt | AC | 20 ms | 11092 KB |
hand_3_3.txt | AC | 20 ms | 9044 KB |
hand_3_4.txt | AC | 20 ms | 11092 KB |
hand_3_5.txt | AC | 20 ms | 11092 KB |
hand_3_6.txt | AC | 20 ms | 11092 KB |
hand_4_2.txt | AC | 20 ms | 11092 KB |
hand_4_3.txt | AC | 20 ms | 9044 KB |
hand_4_4.txt | AC | 20 ms | 11092 KB |
hand_4_5.txt | AC | 20 ms | 11092 KB |
hand_4_6.txt | AC | 20 ms | 11092 KB |
random_1.txt | AC | 20 ms | 11092 KB |
random_10.txt | AC | 20 ms | 11092 KB |
random_11.txt | AC | 20 ms | 9044 KB |
random_12.txt | AC | 20 ms | 11092 KB |
random_13.txt | AC | 20 ms | 9044 KB |
random_14.txt | AC | 20 ms | 11092 KB |
random_15.txt | AC | 20 ms | 9044 KB |
random_2.txt | AC | 20 ms | 9044 KB |
random_3.txt | AC | 20 ms | 9044 KB |
random_4.txt | AC | 20 ms | 9044 KB |
random_5.txt | AC | 20 ms | 11092 KB |
random_6.txt | AC | 20 ms | 9172 KB |
random_7.txt | AC | 21 ms | 13140 KB |
random_8.txt | AC | 20 ms | 9172 KB |
random_9.txt | AC | 20 ms | 9044 KB |
sample_1.txt | AC | 20 ms | 9044 KB |
sample_2.txt | AC | 20 ms | 11092 KB |
sample_3.txt | AC | 20 ms | 9044 KB |
sample_4.txt | AC | 20 ms | 9044 KB |
small_1.txt | AC | 20 ms | 9044 KB |
small_2.txt | AC | 20 ms | 9044 KB |
small_3.txt | AC | 20 ms | 9044 KB |
small_4.txt | AC | 20 ms | 11092 KB |
small_5.txt | AC | 20 ms | 11092 KB |
small_6.txt | AC | 20 ms | 9044 KB |
small_7.txt | AC | 20 ms | 11092 KB |
small_8.txt | AC | 20 ms | 9172 KB |
small_9.txt | AC | 20 ms | 9172 KB |