Submission #1590410


Source Code Expand

#include <iostream>
#include <iomanip>
#include <vector>
#include <algorithm>
#include <cstring>
#include <map>
#include <queue>
#include <cmath>
#include <complex> // complex<double> a(1.2 , 2.3);// real(): 1.2, imag()2.3
using namespace std;

#define MOD 1000000007
#define ll long long
#define ld long double
#define FOR(i,a,b) for(ll i=(ll)a;i<(ll)b;i++)
#define rep(i,n) FOR(i,0,n)
#define pb push_back
#define mp make_pair
#define all(a) a.begin(),a.end()
#define rall(a) a.rbegin(),a.rend()
#define rmsame(a) sort(all(a)),a.erase(unique(all(a)), a.end())
#define rmvector(a,b) rep(i,a.size())rep(j,b.size())if(a[i]==b[j]){a.erase(a.begin()+i);i--;break;}


vector<char> str;
vector<char> diction;
ll N,K;

void outRest(ll index){
  vector<char> a, ans;
  vector<ll> checklist;
  vector<char> check;


  ll   num[26]={0};
  FOR(i,index,N){
    ans.pb(diction[i]);
    a.pb(str[i]);
    num[diction[i]-'a']++;
  }

  rep(i,ans.size()){
    if(num[a[i]-'a']!=0){
      num[a[i]-'a']--;
      ans[i] = a[i];
    }

    else
      checklist.pb(i);
  }

  rep(i,26){
    rep(j,num[i]){
      check.pb('a'+i);
    }
  }
  sort(all(check));

  rep(i,checklist.size()){
    ans[checklist[i]]=check[i];
  }

  rep(i,ans.size()) cout << ans[i];
  cout << endl;
}

ll dif(ll index){
  ll ansa = 0;
  rep(i,index+1)
    if(str[i]!=diction[i]) ansa++;

  ll ansb = 0;
  ll st[26]={0};
  ll di[26]={0};

  FOR(i,index+1,N){
    st[str[i]-'a']++;
    di[diction[i]-'a']++;
  }
  rep(i,26) ansb+=abs(st[i]-di[i]);
    
  return ansa+ansb/2;
}


int main(){
  cin.tie(0);
  ios::sync_with_stdio(false);


  string S;
  cin >> N >> K >> S;

  rep(i,S.size()){
    str.pb(S[i]);
    diction.pb(S[i]);
  }
  sort(all(diction));


  ll index = N;
  rep(i,N){
    if(dif(i) > K)
      {index = i;break;}
  }

  if(index==N){
    rep(i,index) cout << diction[i] ;
    cout << endl;
    return 0;
  }
  
  rep(i,index) cout << diction[i];
  outRest(index);
  
  
  return 0;
}

Submission Info

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

Judge Result

Set Name All
Score / Max Score 0 / 100
Status
AC × 47
WA × 11
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 AC 1 ms 256 KB
hand_1_3.txt AC 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 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 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 AC 1 ms 256 KB
hand_2_3.txt AC 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 AC 1 ms 256 KB
hand_2_7.txt AC 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 AC 1 ms 256 KB
hand_3_5.txt WA 1 ms 256 KB
hand_3_6.txt AC 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 AC 1 ms 256 KB
hand_4_5.txt WA 1 ms 256 KB
hand_4_6.txt AC 1 ms 256 KB
random_1.txt WA 1 ms 256 KB
random_10.txt AC 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 AC 1 ms 256 KB
random_15.txt AC 1 ms 256 KB
random_2.txt AC 1 ms 256 KB
random_3.txt AC 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 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