※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 24228번 문제인 젓가락이다.

문제는 아래 링크를 확인하자.

https://www.acmicpc.net/problem/24228 

 

24228번: 젓가락

두 개의 정수 $N, R$이 주어진다. $(1 ≤ N,R ≤ 10^{18})$

www.acmicpc.net

젓가락은 N종류가 무수히 많이 있고, R쌍의 젓가락을 뽑으려고 한다.

 

젓가락이 딱 R-1쌍 있으면서 최대한 많은 젓가락을 뽑는 방법은 R-1쌍을 이루는 젓가락 2*(R-1)개와 N종류의 젓가락을 하나씩 들고 있는 상태이다. 여기에서 젓가락을 하나 더 뽑는다면, 그때부터는 R개의 쌍을 이루는 젓가락이 있다는 것을 보장할 수 있다.

 

위의 내용을 식으로 구현하여 문제를 해결하자.

 

아래는 제출한 소스코드이다.

#include <iostream>
using namespace std;
typedef long long ll;

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

	ll N, R; cin >> N >> R;
	cout << R * 2 + N - 1;
}
728x90

+ Recent posts