RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
R00446

구간 내 기준 이하 개수

Platinum I 플래티넘 I
난이도
3s
시간 제한
256MB
메모리 제한
0
맞았습니다!!
0
제출 수
0.0%
정답률
레이팅

의견: 0

설명

길이 \(N\)의 수열 \(A\)가 주어진다. \(Q\)개의 질의가 있으며, 각 질의는 \(l\), \(r\), \(x\)로 주어진다. \(A_l, \dots, A_r\) 중 값이 \(x\) 이하인 원소의 개수를 출력해야 한다.

퍼시스턴트 세그먼트 트리(접두 버전 트리)를 이용하면 각 질의를 \(O(\log N)\)에 답할 수 있다.

제약

\(1 \le N, Q \le 100{,}000\)

\(-10^9 \le A_i, x \le 10^9\)

\(1 \le l \le r \le N\)

입력 형식

첫 줄에 \(N\), \(Q\). 둘째 줄에 \(A_i\) \(N\)개. 다음 \(Q\)줄에 \(l\), \(r\), \(x\).

출력 형식

각 질의에 대해 구간 내 \(x\) 이하인 원소 개수를 한 줄에 출력한다.

예제 1
입력
5 4
3 1 4 1 5
1 5 3
2 4 1
1 5 0
3 5 10
출력
3
2
0
3
설명

구간[1,5]에서 3이하는 3,1,1 → 3개. [2,4]=[1,4,1]에서 1이하 2개. [1,5]에서 0이하 0개. [3,5]=[4,1,5] 10이하 3개.

예제 2
입력
3 2
2 2 2
1 3 2
1 3 1
출력
3
0
설명

모두 2. 2이하 → 3개, 1이하 → 0개.

문제 정보

riseoj 작성

출처 Original

평가 및 의견

구간 내 기준 이하 개수

개요
출제자 난이도 Platinum I 플래티넘 I 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

구간 내 기준 이하 개수

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8