굉장한 학생
Problem
https://www.acmicpc.net/problem/2336
Idea
구간의 최소값: 구간의 가장 뛰어난 등수 정의
1과목기준으로 정렬을 한번하게되면 2,3과목만 보면된다.
구간 은 1부터 정렬이 되어있으므로 2과목 등수자체를 표현하고, 구간 값을 3과목 등수로 표현한다
즉, 각 구간 index는 2과목 등수를 표현, 구간 value는 3과목 등수로 업데이트한다
2과목을 기준으로 1등~ 2과목 등수 쿼리를 해
query한 값(구간내 1,2번째 과목의 가장 뛰어난 등수)이 내 등수보다 크다면 나는 굉장한 학생이다
예) 1과목 정렬을 하면
1: 1, 2, 8
2: 2, 5, 5
3: 3, 3, 1
예에서 보면
TC 첫번째 학생은 각 과목을 1등,2등 8등 하였다. 1과목을 1등을 하였으므로 3과목 모두 좋은 점수를 받은 학생은 존재할 수 없기에 굉장한 학생이다
2번째에서 1 ~ 5 등수인것들 중 3번째 값보다 큰값 (가장 작은 등수)이 있는지 확인해본다. 있다면 내 등 수보다 큰 학생이 있으므로 나는 굉장한 학생이다