## MNYC '17: Bells

View as PDF

Points: 17 (partial)
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
Ada, Assembly, Awk, Brain****, C, C#, C++, COBOL, CommonLisp, D, Dart, F#, Forth, Fortran, Go, Groovy, Haskell, Intercal, Java, JS, Kotlin, Lisp, Lua, Nim, ObjC, OCaml, Octave, Pascal, Perl, PHP, Pike, Prolog, Python, Racket, Ruby, Rust, Scala, Scheme, Sed, Swift, TCL, Text, Turing, VB, Zig

There are bells arranged in a line, labelled to . The bell has a frequency of Hz . There are operations to perform.

There are two types of operations:

• 1 i f Replace the bell with one with a frequency of Hz.
• 2 l r Output the number of distinct frequencies between the and bell (inclusive).

There will be at most distinct frequencies at a time.

Fast input may be required.

#### Constraints

For 10% of the points, .

For 90% of the points, .

#### Input Specification

The first line contains two space separated integers, , respectively the number of bells and the number of queries.

The next line contains space separated integers, the frequency of the bells.

The next lines each contain a query in the format described above.

#### Output Specification

Output a single integer on its own line for each type 2 query.

#### Sample Input 1

6 3
1 2 1 4 4 2
2 1 6
1 2 1
2 1 3

#### Sample Output 1

3
1

#### Sample Output 1 Explanation

In the beginning, there are only 3 distinct frequencies which the bells have, 1 Hz, 2 Hz, and 4 Hz. After switching the second bell with one with a frequency of 1 Hz. There is only one distinct frequency among the first 3 bells.

• commented on Jan. 7, 2017, 3:18 p.m.

Submissions have been redjudged. New test cases were added.

I apologize for the inconvenience.

• commented on Jan. 7, 2017, 2:02 p.m.

No bells are labeled 0 and there is no 0th bell, but some inputs have 0 as the bell number. I realized this because it keeps giving me "index out of bound" error. For the operations, I added if(index==0){index=1;} and it worked.

• commented on Jan. 7, 2017, 2:18 p.m. edited

Thank you for pointing this out. Will be fixed soon.

EDIT: Issue has been fixed