Квадратты іздеу


Шешімді жөнелту

Ұпайлар: 100 (partial)
Уақыт шектеуі: 1.0s
Жад шектеуі: 256M

Author:
Problem type

Жазықтықта \(N \times M\) өлшеміндегі тікбұрыш берілген. Тікбұрыштың шекара сызықтары (тік сызықтар \(x=0\), \(x=N\), \(y=0\) және \(y=M\)) алдын ала жүргізілген. Бастапқыда тікбұрыштың ішінде қосымша сызықтар жоқ. Содан кейін кезекпен \(Q\) сызық жүргізіледі. Әр жаңа сызық не вертикальды (OY осіне параллель), не горизонтальды (OX осіне параллель) болып табылады және сол жақ немесе төменгі шеттен бүтін ауытқумен беріледі:

  • вертикальды сызық: символ V және бүтін \(p\) (\(1\le p\le N-1\)) — тік сызық \(x=p\);

  • горизонтальды сызық: символ H және бүтін \(p\) (\(1\le p\le M-1\)) — көлденең сызық \(y=p\).

Барлық төрт жағы толықтай жүргізілген (соның ішінде шекаралық сызық болуы мүмкін) сызықтармен сәйкес келетін квадрат пайда болатын операцияның ең кіші нөмірін (0-ден \(Q\)-ға дейін) табу қажет, . Егер қажетті квадрат операциялар басталмай тұрып пайда болса (тек тікбұрыштың шекараларымен қалыптасқан болса), жауап \(0\)-ге тең деп есептеледі. Егер барлық операциялардан кейін квадрат пайда болмаса, \(-1\) шығарыңыз.

Енгізу

Бірінші жолда үш бүтін сан \(N\), \(M\), \(Q\) (\(1\le N,M\le 10^6\), \(1\le Q\le 10^6\)) бар.

Келесі \(Q\) жолдың әрқайсысы операцияны қамтиды: символ \(c_i\in\{\texttt{V},\texttt{H}\}\) және бүтін \(p_i\).

Шығару

Бір бүтін санды шығарыңыз:

  • қажетті квадрат алғаш рет пайда болатын операцияның минималды нөмірі;

  • \(0\), егер мұндай квадрат операциялардан бұрын болса;

  • \(-1\), егер квадрат пайда болмаса.

Бағалау жүйесі

Подзадача Қосымша шектеулер Балдар Қажетті подзадачалар
\(0\) Шарттардан мысалдар \(0\)
\(1\) \(q = 0\) \(8\)
\(2\) \(q \le 20\) \(21\) \(1\)
\(3\) \(q \le 200\) \(15\) \(1,2\)
\(4\) \(q \le 2000\) \(20\) \(1,2,3\)
\(5\) \(36\) \(1,2,3,4\)

Мысалдар

Енгізу 1
12 9 5
V 2
H 3
V 4
V 5
H 5
Жауап 1
4

Ескертпелер

Төртінші операциядан кейін суретте қызыл сызықтармен бөлінген квадрат пайда болады.

image

Пікірлер

Қазіргі уақытта ешқандай пікір жоқ.