좌우로 문자 변경 서브태스크 1초 256MB
문제
영어 소문자로 구성된 문자열
문자열
예를 들어, 글자 C의 경우 B 또는 D로 변경할 수 있다.
글자는 순환 순서로 간주할 수 있기에, 글자 A의 앞 글자는 글자 Z가 되며, 글자 Z의 뒤 글자는 글자 A가 된다.
당신의 목표는 문자열
입력
첫 번째 줄에는 문자열
두 번째 줄에는 문자열
[제한]
1 \le S 의 길이\le 10^5 S는 대문자 알파벳으로만 이루어져 있다.
F 는 서로 다른 대문자 알파벳으로만 이루어져 있다.F 을 구성하는 각 문자는 사전순으로 정렬된 순서로 이루어져 있다.
출력
첫 줄에 문자열의 각 문자들이 변경되어야 하는 필요한 최소 작업 수의 총합을 출력한다.
부분문제
| 번호 | 점수 | 조건 |
|---|---|---|
| #1 | 20점 | |
| #2 | 20점 | |
| #3 | 30점 | |
| #4 | 30점 | 추가 제약 조건 없음 |
예제 #1
ABCD
A
6
부분 문제 1번에 해당하는 예제이다.
문자열 A로 변환해야 한다.
첫 번째 문자는 이미 A이므로 변경할 필요가 없다.
두 번째 문자는 1회 뒤의 문자로 바꿔 A로 변경한다.
세 번째 문자는 2회 뒤의 문자로 바꿔 A로 변경한다.
네 번째 문자는 3회 뒤의 문자로 바꿔 A로 변경한다.
따라서 총 6회의 변경 작업을 통하여 문자열 S의 모든 문자가 A로 바뀌도록 할 수 있다.
예제 #2
EEEE
E
0
문자열
예제 #3
B
ZF
2
부분 문제 2번과 3번에 해당하는 예제이다.
문자B가 문자Z가 되기 위해서는 BAZ로 2회 변경 되어야 한다.
문자B가 문자F가 되기 위해서는 BCDEF로 4회 변경 되어야 한다.
문자열 Z가 되는 2회가 최선이다.
예제 #4
PQRST
OU
9
예제 #5
ABD
ABD
0
예제 #6
AAAAAAAAAAB
ACEG
1