[문제 링크] : https://www.acmicpc.net/problem/25418
#include <iostream>
using namespace std;
int N, M;
int DP[1000001];
int main(){
cin >> N >> M;
for(int i=N+1; i<=M; i++){
DP[i] = DP[i-1] + 1;
if(i % 2 == 0 && i / 2 >= N){
DP[i] = min(DP[i], DP[i / 2] + 1);
}
}
cout << DP[M] << "\n";
return 0;
}
'알고리즘' 카테고리의 다른 글
[알고리즘] 백준 10821 - 정수의 개수 (C++) (0) | 2024.09.04 |
---|---|
[알고리즘] 백준 11098 - 첼시를 도와줘! (C++) (0) | 2024.09.03 |
[알고리즘] 백준 2789 - 유학 금지 (C++) (0) | 2024.09.01 |
[알고리즘] 백준 1522 - 문자열 교환 (C++) (0) | 2024.08.31 |
[알고리즘] 백준 2011 - 암호코드 (C++) (0) | 2024.08.30 |