Submission #4076340


Source Code Expand

#include <stdio.h>
#include <iostream>
#include <string>
#include <sstream>
#include <iterator>
#include <algorithm>

using namespace std;

int countDiff(string a, string b){
    int cnt = 0;
    for(unsigned int i = 0; i < a.length(); i++){
        if(a[i] != b[i]){
            cnt++;
        }
    }
    return cnt;
}
int findIndexFromBack(string str, char c){
    int i = str.length() - 1; 
    for(;i >= 0; i--){
        if(str[i] == c){
            break;
        }
    }
    if(i < 0){
        return -1;
    }
    return i;
}
string exchangeChar(string str, int a, int b){
    char buf = str[a];
    str[a] = str[b];
    str[b] = buf;
    return str;
}
string makeSmallest(int n, int k, string inp){
    string copied, original;
    copied = original = inp;
    sort(copied.begin(), copied.end());
    int ind, i;
    i = 0;
    string res = "";
    for(; i < n; i++){
        if(inp[i] == copied[i]){
            res += copied[i];
            continue;
        }
        ind = findIndexFromBack(inp, copied[i]);
        if(ind < 0){
            throw logic_error("index cant beb null");
        }
        inp = exchangeChar(inp, i, ind);
        res += inp[i];
        k--;
        if(k <= countDiff(original.substr(i+1, n), inp.substr(i+1, n))){
            i++;
            break;
        }
    }
    res += inp.substr(i, n);
    return res;
}

int main (void){
    int n, k;
    string inp;
    cin >> n >> k >> inp;
    cout << makeSmallest(n,k,inp) << endl;
    return 0;
}

Submission Info

Submission Time
Task C - 辞書式順序ふたたび
User hanyutrans
Language C++ (GCC 5.4.1)
Score 0
Code Size 1559 Byte
Status WA
Exec Time 1 ms
Memory 256 KB

Judge Result

Set Name All
Score / Max Score 0 / 100
Status
AC × 25
WA × 33
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 WA 1 ms 256 KB
hand_1_1.txt WA 1 ms 256 KB
hand_1_2.txt AC 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 WA 1 ms 256 KB
hand_1_6.txt AC 1 ms 256 KB
hand_1_7.txt AC 1 ms 256 KB
hand_1_8.txt AC 1 ms 256 KB
hand_2_0.txt WA 1 ms 256 KB
hand_2_1.txt WA 1 ms 256 KB
hand_2_10.txt AC 1 ms 256 KB
hand_2_2.txt AC 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 WA 1 ms 256 KB
hand_2_6.txt AC 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 AC 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 AC 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 WA 1 ms 256 KB
random_13.txt WA 1 ms 256 KB
random_14.txt WA 1 ms 256 KB
random_15.txt AC 1 ms 256 KB
random_2.txt WA 1 ms 256 KB
random_3.txt WA 1 ms 256 KB
random_4.txt WA 1 ms 256 KB
random_5.txt AC 1 ms 256 KB
random_6.txt WA 1 ms 256 KB
random_7.txt AC 1 ms 256 KB
random_8.txt WA 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 WA 1 ms 256 KB
small_4.txt WA 1 ms 256 KB
small_5.txt AC 1 ms 256 KB
small_6.txt WA 1 ms 256 KB
small_7.txt WA 1 ms 256 KB
small_8.txt AC 1 ms 256 KB
small_9.txt AC 1 ms 256 KB