Submission #3050857


Source Code Expand

#include <algorithm>
#include <iostream>
#include <string>
#include <vector>
#define repi(i,a,b) for(int i=(a);i<(b);++i)
#define rep(i,a) repi(i,0,a)
#define all(a) (a).begin(), (a).end()

int N, K;
std::string S;
std::vector<char> vs;

int count( const std::string &t, char ch )
{
  int ret = 0;

  for( auto &ct : t )
    ret += ct == ch;

  return ret;
}

int main()
{
  std::cin >> N >> K;
  std::cin >> S;

  for( char &c : S )
    vs.emplace_back( c );

  std::sort( all(vs) );

  std::string t;

  while( t.size() != S.size() )
  {
    std::string s2 = S.substr( 0, t.size()+1 );

    for( auto &c : vs )
    {
      if( c < 'a' || c > 'z' )
        continue;

      int cnt = N-1-t.size();
      std::string t2 = t + c;

      rep( j, t2.size() )
        cnt += s2[j] != t2[j];

      for( char ch = 'a'; ch <= 'z'; ++ch )
        cnt -= std::min( count(S,ch)-count(s2,ch), count(S,ch)-count(t2,ch) );

      if( cnt <= K )
      {
        t = t2;
        c = ' ';
        break;
      }
    }
  }

  std::cout << t << std::endl;
  
  return 0;
}

Submission Info

Submission Time
Task C - 辞書式順序ふたたび
User As_sqr
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1119 Byte
Status AC
Exec Time 15 ms
Memory 256 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 58
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 AC 1 ms 256 KB
hand_3_4.txt AC 1 ms 256 KB
hand_3_5.txt AC 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 AC 1 ms 256 KB
hand_4_4.txt AC 1 ms 256 KB
hand_4_5.txt AC 1 ms 256 KB
hand_4_6.txt AC 1 ms 256 KB
random_1.txt AC 2 ms 256 KB
random_10.txt AC 14 ms 256 KB
random_11.txt AC 10 ms 256 KB
random_12.txt AC 11 ms 256 KB
random_13.txt AC 8 ms 256 KB
random_14.txt AC 4 ms 256 KB
random_15.txt AC 2 ms 256 KB
random_2.txt AC 2 ms 256 KB
random_3.txt AC 2 ms 256 KB
random_4.txt AC 4 ms 256 KB
random_5.txt AC 2 ms 256 KB
random_6.txt AC 6 ms 256 KB
random_7.txt AC 13 ms 256 KB
random_8.txt AC 15 ms 256 KB
random_9.txt AC 15 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