만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

부분수 합

면접 대비

시간 제한1초메모리 제한1024 MB

요약
자릿수가 N인 수의 각 자리를 순서를 유지한 채 K자리 부분수와 N-K자리 부분수로 나누고, 두 수의 합이 최대가 되도록 만든다.
난이도

보통10점 중 5점

유형
동적 계획법, 그리디, 구현, 완전 탐색
정답자
아직 제출이 없습니다

문제

간단한 문제를 풀어 보자.

양의 정수가 주어졌을 때, 그 수에서 몇 개의 자릿수를 순서를 바꾸지 않고 이어 붙여 새로운 수를 만들 수 있다. 이렇게 만든 수를 원래 수의 부분수라고 하자. 예를 들어 3141531415에서 3,1,13, 1, 1을 택해 부분수 311311을 만들 수 있다.

NN자리 양의 정수가 주어진다. KK개의 자릿수를 골라 한 부분수를 만들고 남은 N−KN-K개의 자릿수로 다른 부분수를 만들 수 있다. 골라야 하는 자릿수 KK가 주어질 때, 두 부분수의 합의 최댓값을 구하자. 부분수가 앞에 0을 포함해도 된다.

입력

첫째 줄에 테스트 케이스의 수 TT가 주어진다 (1≤T≤10,000)(1 \leq T \leq 10,000).

각 테스트 케이스의 첫째 줄에 두 정수 N,KN, K (2≤N≤18,1≤K<N)(2 \leq N \leq 18, 1 \leq K < N)가 주어지고, 둘째 줄에 NN자리 양의 정수가 주어진다. 입력으로 주어지는 수는 앞에 0이 없지만, 그 부분수는 앞에 0이 있을 수 있다.

출력

각 테스트 케이스마다 조건을 만족하는 두 부분수의 합의 최댓값을 한 줄에 출력한다.

예제1

  1. 예제 1

    입력
    3
    4 2
    5632
    2 1
    55
    5 2
    10000
    
    예상 출력
    115
    10
    100