Counting the number of intervals
Practice
4.3 (18 votes)
Advanced data structures
Data structures
Medium
Segment trees
Problem
53% Success 1874 Attempts 30 Points 3s Time Limit 512MB Memory 1024 KB Max Code
You are given a sequence of \(N\) integers \(a_1, a_2, \dots, a_N\) and an integer \(K\). Your task is to count the number of intervals \([l, r] \) such that \(a_l + a_r + min(a_l, a_{l + 1}, \dots, a_r) \le K\).
Input format
- First line: Two space-separated integers \(N, K\)
- Second line: \(N\) space-separated integers denoting the elements of the sequence
Output format
- Print the answer in a single line.
Constraints
\(1 \le N \le 5\times10^5\), \(80\%\) test cases \(N \le 2\times 10^5\)
\(1 \le K \le 10^{18}\)
\(1 \le a_i \le 10^{18}\)
Sample Input
5 6 1 2 3 4 5
Sample Output
5
Explanation
There are five intervals satisfy the condition:
- [1, 1]: \(a_1 + min(a_1) + a_1 = 3\)
- [1, 2]: \(a_1 + min(a_1, a_2) + a_2 = 4\)
- [1, 3]: \(a_1 + min(a_1, a_2, a_3) + a_3 = 5\)
- [1, 4]: \(a_1 + min(a_1, a_2, a_3, a_4) + a_4 = 6\)
- [2, 2]: \(a_2 + min(a_2, a_2) + a_2 = 6\)
Code Editor
Please login to use the editor
You need to be logged in to access the code editor
Loading...
Please wait while we load the editor
Submissions
Please login to view your submissions
Similar Problems
Points:30
14 votes
Tags:
ApprovedData StructuresMathMediumRecruitSegment Trees
Points:30
41 votes
Tags:
ApprovedGraphsGreedy AlgorithmsMediumOpenSegment TreesTrees
Points:30
6 votes
Tags:
Advanced Data StructuresData StructuresMediumSegment Trees
Editorial
Login to unlock the editorial
Please login to use the editor
You need to be logged in to access the code editor
Loading...
Please wait while we load the editor