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

 

이번에 볼 문제는 백준 17262번 문제인 팬덤이 넘쳐흘러이다.
문제는 아래 링크를 확인하자.

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

 

17262번: 팬덤이 넘쳐흘러

선물 포장 공장을 말아먹은 욱제는 계곡에서 백숙을 파느라 학교에 자주 가지 못한다. 하지만 월클의 인생은 피곤한 법! 욱제는 지금처럼 힘든 시기에도 자신을 기다리는 5조5억명의 열렬한 팬

www.acmicpc.net

 

모든 구간이 다 겹치는 시간이 있는 경우 답이 0이 됨은 자명하다. 그러한 구간이 없는 경우를 생각해보자.

 

욱제는 "가장 빨리 학교를 떠나는 학생"에게 인사를 해야 하므로 주어지는 R의 값의 최솟값인 시각에는 학교에 있어야 함을 알 수 있다. 마찬가지로 욱제는 "가장 늦게 학교에 오는 학생"에게 인사를 해야 하므로 주어지는 L의 값의 최댓값인 시각에도 학교에 있어야 함을 알 수 있다. 따라서 욱제는 학교에 못해도 "R의 최솟값" 시각부터 "L의 최댓값" 시각까지는 학교에 있어야 한다.

 

한편, 위와 같은 시간동안 학교에 머무르면 모든 학생들과 인사를 할 수 있음을 쉽게 관찰할 수 있다. 이를 이용해 문제를 해결하자.

 

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

#include <iostream>
using namespace std;

int N;
int L = -1000000007, R = 1000000007;

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

	cin >> N;
	while (N--) {
		int x, y; cin >> x >> y;
		L = max(L, x);
		R = min(R, y);
	}

	cout << max(0, L - R);
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 14156 // C++] Binarni  (0) 2024.04.05
[BOJ 23090 // C++] 난민  (0) 2024.04.04
[BOJ 7694 // C++] Triangle  (0) 2024.04.02
[BOJ 15330 // C++] Parallel Lines  (0) 2024.04.01
[BOJ 11525 // C++] Farey Sequence Length  (0) 2024.03.31

+ Recent posts