※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 24333번 문제인 СРЕЩА НА ПРИЯТЕЛИ이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/24333
24333번: СРЕЩА НА ПРИЯТЕЛИ
Двама бивши приятели от ученическите години, които отдавна не са се виждали, решили да се срещнат в ресторанта на новия бизнес-център. Първи
www.acmicpc.net
두 닫힌 구간 [l1,r1]과 [l2,r2]의 교집합 [L,R]에 포함되는 정수 중 k의 배수가 아닌 수의 개수를 구하는 문제이다.
[L,R]에 속한 k의 배수의 개수는 (R 이하의 k의 배수의 개수) - (L 미만의 k의 배수의 개수)로 계산할 수 있음을 이용해 문제를 해결하자.
입력의 크기가 충분히 작으므로, 1부터 50000까지의 각 수에 대하여 두 구간에 포함되는지의 여부와 k의 배수인지의 여부를 확인해나가는 방식으로도 문제를 충분히 해결할 수 있을 것이다.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
int l1, r1, l2, r2, k;
int L, R;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> l1 >> r1 >> l2 >> r2 >> k;
L = max(l1, l2), R = min(r1, r2);
if (R < L) cout << 0;
else cout << (R - L + 1) - R / k + (L - 1) / k;
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 11258 // C++] Thai Lottery Checking (0) | 2023.01.06 |
---|---|
[BOJ 20374 // C++] Big Money (0) | 2023.01.06 |
[BOJ 12250 // C++] New Lottery Game (Small) (0) | 2023.01.06 |
[BOJ 8794 // C++] Poniedziałki (0) | 2023.01.06 |
[BOJ 10693 // C++] Abdelrahman (0) | 2023.01.06 |