Left or Right
Practice
3.4 (42 votes)
Arrays
Data structures
Easy
Multi Dimensional
Problem
88% Success 13421 Attempts 20 Points 1.2s Time Limit 256MB Memory 1024 KB Max Code

A country X consists of N cities numbered 0 through \(N-1\). The map of this country can be represented as a cycle — for each valid i, city i has exactly two neighboring cities \( (i+1) \% N \) and \( (i-1+N) \% N \).

The cities in the country are broadly categorized into different types. For each valid i, the type of city i is denoted by \(A_i\).

A person called Suarez wants to travel between some pairs of the cities. You are given Q queries. In each query, Suarez wants to travel from city number Y to a city of type Z. Also, he wants to travel only in a given direction along the cycle.

The direction is represented by a letter — L or R. If it's L, Suarez may only move from city i to city \( (i-1+N) \% N \) for each valid i. If it's R, he may only move from city i to city \( (i+1) \% N \).

You need to find the minimum number of steps Suarez needs to take to reach a city of type Z if he starts moving from city Y in the given direction (he can take zero steps). In one step, Suarez can move from his current city to a neighboring city.

If Suarez can never reach a city of type Z for a given query, print 1 instead.

Constraints

  • \( 1 \le N \le 3,000 \)

  • \( 1 \le Q \le 500,000 \)

  • \( 0 \le Y \lt N \)

  • \( 1 \le A_i, Z \le 200,000 \)

Input format

The first line of the input contains two space-separated integers N and Q. The next line contains N space-separated integers, where the i-th of these integers represents \( A_i \).

Each of the following Q lines describes a query in the format \(Y~Z~D\), where Y is an integer denoting the number of the starting city, Z is an integer denoting the type of a target city and D is a letter ('L' or 'R') denoting the direction along the cycle.

Output format

For each query, print a single line containing one integer — the answer to the query.

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

Loading...
Results
Custom Input
Run your code to see the output
Submissions
Please login to view your submissions
Similar Problems
Points:20
43 votes
Tags:
ArraysBrute-force searchData StructuresEasyMulti-dimensional
Points:20
18 votes
Tags:
ApprovedData StructuresEasy
Points:20
30 votes
Tags:
ArraysData StructuresEasyString Manipulation