Given a sequence of integers and an integer N
, output the number of contiguous subsequences that contain at least N
distinct integers. Each integer in the sequence is non-negative and will not be larger than the size of the sequence.
For example, with the sequence 1,2,2,3
and N=2
, there are 5 contiguous subsequences that contain at least 2 distinct integers:
1,2 1,2,2 2,2,3 2,3 1,2,2,3
The asymptotic time complexity must be linearithmic in the size of the input sequence. (The time complexity must be at most amortized O(S*logS)
where S
is the size of the input sequence.)
Testcases:
Sequence | N | Output |
---|---|---|
1,2,3 | 2 | 3 |
1,2,2,3 | 2 | 5 |
6,1,4,2,4,5 | 3 | 9 |
1,1,2,2,2,3,4,4 | 4 | 4 |
8,6,6,1,10,5,5,1,8,2 | 5 | 11 |
https://pastebin.com/E8Xaej8f (1,000 integers) | 55 | 446308 |
https://pastebin.com/4aqiD8BL (80,000 integers) | 117 | 3190760620 |