Universal Cup Judging System

Universal Cup

Time Limit: 3.0 s Memory Limit: 2048 MB Total points: 100 Difficulty: [show] Hackable ✓
Statistics

Il suo sogno, insieme al Treno Espresso nella Città C, sfrecciò ruggendo attraverso la stazione in cui stava aspettando, lasciandolo indietro da solo.

La Città C ha aperto una nuova linea della metropolitana con $n$ stazioni. La $i$-esima stazione ha livello $1 \le a_i \le k$, che rappresenta l'importanza della stazione. In generale, più alto è il livello di una stazione, più treni vi si fermano.

La Città C prevede di attivare $m$ servizi ferroviari sulla nuova linea della metropolitana. Il $i$-esimo servizio ha un punto di scambio $p_i$ e due parametri di livello $x_i$ e $y_i$, i quali indicano che i treni di quel servizio si fermeranno in tutte le stazioni di livello almeno $x_i$ dalla $1$-ª stazione alla $p_i$-esima stazione, e in tutte le stazioni di livello almeno $y_i$ dalla $(p_i + 1)$-esima stazione alla $n$-esima stazione. Più formalmente, si fermano in tutte le stazioni $j$ che soddisfano almeno una delle seguenti condizioni:

  • $j \le p_i$ e $a_j \ge x_i$;
  • $j > p_i$ e $a_j \ge y_i$.

Consideriamo alcuni esempi:

  • Se $x_i = y_i = 1$, i treni si fermeranno in ogni stazione. Questo tipo di servizio ferroviario è noto anche come Servizio Locale (Local Service).
  • Se $x_i = y_i = k$, i treni si fermeranno solo nelle stazioni di livello $k$. Questo tipo di servizio ferroviario è noto anche come Espresso Limitato (Limited Express) o Treno di Riferimento (Benchmark Train).
  • Se $x_i = 1, y_i = k$, il servizio è un Servizio Locale tra $1$ e $p_i$, e un Espresso Limitato tra $(p_i + 1)$ e $n$. Questo potrebbe essere il Servizio Diretto (Through Service) che si ferma in ogni stazione del centro e accelera in periferia.

Due stazioni distinte sono direttamente raggiungibili se almeno un servizio ferroviario si ferma in entrambe le stazioni. Chiamiamo efficiente la linea della metropolitana se tutte le coppie $(i, j)$ di stazioni distinte con lo stesso livello ($a_i = a_j$) sono direttamente raggiungibili.

Ti vengono dati $p_1, \dots, p_m$ e $x_1, \dots, x_m$. Calcola il numero di possibili configurazioni di $y_1, \dots, y_m$, composte da interi positivi compresi tra $1$ e $k$, tali che la linea della metropolitana sia efficiente. Poiché il numero potrebbe essere grande, stampa la risposta modulo $998\,244\,353$.

Input

La prima riga contiene tre interi $n$ ($2 \le n \le 10^3$), $m$ ($1 \le m \le 10^3$) e $k$ ($1 \le k \le 500$), che indicano il numero di stazioni, il numero di servizi ferroviari e il limite superiore dei livelli delle stazioni. NON è garantito che ci sia almeno una stazione per ciascun livello.

La seconda riga contiene $n$ interi $a_1, a_2, \dots, a_n$ ($1 \le a_i \le k$), che indicano il livello di ciascuna stazione.

Le successive $m$ righe descrivono i servizi ferroviari. La $i$-esima di queste righe contiene due interi $p_i$ ($1 \le p_i < n$) e $x_i$ ($1 \le x_i \le k$), che indicano due dei parametri del $i$-esimo servizio ferroviario.

Output

Stampa un intero che rappresenta il numero di possibili array $y_1, \dots, y_m$, modulo $998\,244\,353$.

Esempi

Input 1

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

Output 1

48

Spiegazione

Spiegazione dell'Esempio 1: Di seguito è riportata l'illustrazione di una possibile configurazione, $y = [2, 3, 4]$:

problem_16332_a1ee8d5e311fabd2eb0d4a46ca5d5e9b.png

Illustrazione dell'Esempio 1

  • Servizio 1: $p_1 = 1, x_1 = 2, y_1 = 2$;
  • Servizio 2: $p_2 = 2, x_2 = 2, y_2 = 3$;
  • Servizio 3: $p_3 = 2, x_3 = 3, y_3 = 4$.

Input 2

7 3 5
2 4 3 2 4 2 3
2 2
4 3
5 2

Output 2

80

Input 3

4 2 10
3 7 2 5
1 4
3 3

Output 3

100

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#2656EditorialOpen$$ \boxed{O\!\left(n+m\log m+k(m+k)\log^2(m+k)\right)} $$ by GPT6 ProAnonymousView
#1030EditorialOpenNew Editorial for Problem #16332KiharaToumaView

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.