Submission #1455142
Source Code Expand
#include <cstdio> #include <cstdlib> #include <string> #include <vector> #include <sstream> #include <iostream> #include <algorithm> using namespace std; typedef long long ll; #define REP(i,n) for(int i=0;i<n;++i) #define SORT(name) sort(name.begin(), name.end()) #define ZERO(p) memset(p, 0, sizeof(p)) #define MINUS(p) memset(p, -1, sizeof(p)) #define MOD 1000000007 #define INF 1000000000 #define MAX_N 105 int N, K; string S; vector< pair<char, int> > sorted; // ソート済みの S, ソート前の位置 vector<char> change_pool; // 場所変更予定の文字列たち int main() { cin >> N >> K >> S; REP(i, S.length()) { sorted.push_back(make_pair(S[i], i)); } SORT(sorted); string ans = S; if (K <= 1) { cout << ans << endl; return 0; } else if (N <= K) { REP(i, sorted.size()) { printf("%c", sorted[i].first); } printf("\n"); return 0; } int sorted_ind_begin = 0; REP(cur, S.length()) { for (int i = 0; i < sorted.size(); ++i) { if (S[cur] != '?' && sorted[i].first != '*' && S[cur] != sorted[i].first) { int change_cost = 2; if (S[sorted[i].second] == '?') { change_cost = 1; } if (K - change_cost >= 0) { // 変更可能 if (change_cost == 2) { change_pool.push_back(S[cur]); change_pool.push_back(sorted[i].first); S[cur] = '?'; S[sorted[i].second] = '?'; sorted[i].first = '*'; } if (change_cost == 1) { change_pool.push_back(S[cur]); S[cur] = '?'; sorted[i].first = '*'; } K -= change_cost; break; } } else if (S[cur] == sorted[i].first) { sorted[i].first = '*'; break; } } if (K == 0) { break; } } SORT(change_pool); int pool_ind = 0; REP(i, S.length()) { if (S[i] == '?') { S[i] = change_pool[pool_ind]; pool_ind++; } } cout << S << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - 辞書式順序ふたたび |
User | VTR |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 2455 Byte |
Status | WA |
Exec Time | 1 ms |
Memory | 256 KB |
Judge Result
Set Name | All | ||||
---|---|---|---|---|---|
Score / Max Score | 0 / 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 | 1 ms | 256 KB |
hand_1_1.txt | AC | 1 ms | 256 KB |
hand_1_2.txt | WA | 1 ms | 256 KB |
hand_1_3.txt | WA | 1 ms | 256 KB |
hand_1_4.txt | AC | 1 ms | 256 KB |
hand_1_5.txt | AC | 1 ms | 256 KB |
hand_1_6.txt | WA | 1 ms | 256 KB |
hand_1_7.txt | WA | 1 ms | 256 KB |
hand_1_8.txt | AC | 1 ms | 256 KB |
hand_2_0.txt | AC | 1 ms | 256 KB |
hand_2_1.txt | AC | 1 ms | 256 KB |
hand_2_10.txt | AC | 1 ms | 256 KB |
hand_2_2.txt | WA | 1 ms | 256 KB |
hand_2_3.txt | WA | 1 ms | 256 KB |
hand_2_4.txt | AC | 1 ms | 256 KB |
hand_2_5.txt | AC | 1 ms | 256 KB |
hand_2_6.txt | WA | 1 ms | 256 KB |
hand_2_7.txt | WA | 1 ms | 256 KB |
hand_2_8.txt | AC | 1 ms | 256 KB |
hand_2_9.txt | AC | 1 ms | 256 KB |
hand_3_2.txt | WA | 1 ms | 256 KB |
hand_3_3.txt | WA | 1 ms | 256 KB |
hand_3_4.txt | WA | 1 ms | 256 KB |
hand_3_5.txt | WA | 1 ms | 256 KB |
hand_3_6.txt | WA | 1 ms | 256 KB |
hand_4_2.txt | WA | 1 ms | 256 KB |
hand_4_3.txt | WA | 1 ms | 256 KB |
hand_4_4.txt | WA | 1 ms | 256 KB |
hand_4_5.txt | WA | 1 ms | 256 KB |
hand_4_6.txt | WA | 1 ms | 256 KB |
random_1.txt | WA | 1 ms | 256 KB |
random_10.txt | WA | 1 ms | 256 KB |
random_11.txt | WA | 1 ms | 256 KB |
random_12.txt | AC | 1 ms | 256 KB |
random_13.txt | WA | 1 ms | 256 KB |
random_14.txt | WA | 1 ms | 256 KB |
random_15.txt | WA | 1 ms | 256 KB |
random_2.txt | AC | 1 ms | 256 KB |
random_3.txt | WA | 1 ms | 256 KB |
random_4.txt | WA | 1 ms | 256 KB |
random_5.txt | WA | 1 ms | 256 KB |
random_6.txt | WA | 1 ms | 256 KB |
random_7.txt | AC | 1 ms | 256 KB |
random_8.txt | AC | 1 ms | 256 KB |
random_9.txt | WA | 1 ms | 256 KB |
sample_1.txt | AC | 1 ms | 256 KB |
sample_2.txt | AC | 1 ms | 256 KB |
sample_3.txt | AC | 1 ms | 256 KB |
sample_4.txt | AC | 1 ms | 256 KB |
small_1.txt | AC | 1 ms | 256 KB |
small_2.txt | AC | 1 ms | 256 KB |
small_3.txt | AC | 1 ms | 256 KB |
small_4.txt | AC | 1 ms | 256 KB |
small_5.txt | AC | 1 ms | 256 KB |
small_6.txt | AC | 1 ms | 256 KB |
small_7.txt | AC | 1 ms | 256 KB |
small_8.txt | AC | 1 ms | 256 KB |
small_9.txt | AC | 1 ms | 256 KB |