108 lines
4.7 KiB
Markdown
108 lines
4.7 KiB
Markdown
# A. Дино в комьютерной игре
|
||
|
||
Дино решил поучаствовать в бета-тестировании игры "Бег с препятствиями". Оказалось, что игра очень сырая и совсем не готов графический интерфейс. Дино решил поиграть в игру, совершая прыжки "вслепую" - без визуального отображения дорожки с препятствиями, следуя указаниям игры.
|
||
|
||
Дино совершает прыжки следуя указаниям. Нужно подсчитать, сколько очков заработал Дино, учитывая его прыжки и конфигурацию трассы. Если трасса содержит ошибки, то результатом будет **0 очков**.
|
||
|
||
Правила игры:
|
||
|
||
- Как играет Дино
|
||
- прыгает моментально по команде;
|
||
- может прыгнуть моментально после приземления;
|
||
- получает очки за каждое успешно преодоленное препятствие (даже если за один прыжок преодолевает несколько препятствий);
|
||
- не может подпрыгнуть в воздухе - чтобы прыгнуть еще раз, ему нужно сначала приземлиться;
|
||
- Дино **не просят** подпрыгивать в полете;
|
||
|
||
- Получение очков:
|
||
- за преодоление **камня** (длина препятствия **1 м**) - **1 очко**;
|
||
- за преодоление **бревна** (длина препятствия **2 м**) - **3 очка**;
|
||
- за преодоление **ямы** (длина препятствия **4 м**) - **5 очков**;
|
||
|
||
- Потеря очков:
|
||
- если Дино неправильно преодолеет любое препятствие, у него отнимут одно очко за каждое такое препятствие;
|
||
- итоговое количество очков не может быть меньше 0;
|
||
|
||
- Успешное преодоление препятствия:
|
||
- Дино начинает прыжок не позже появления препятствия (допустимо одновременно с наступанием препятствиями);
|
||
- чтобы преодолеть препятствие - нужны прыгнуть на расстояние большее или равное длине препятствия;
|
||
- прыжок Дино покрывает всю длину препятствия (допустимо, если он перепрыгнет препятствие или начнет прыжок раньше);
|
||
|
||
- Трасса считается некоректной, если:
|
||
- препятствие пересекаются или касаются (одно препятствие еще не закончилось, а следующее еще не началось);
|
||
|
||
## Формат ввода
|
||
|
||
- в первой строке число - количество препятствий на игровой дорожке `n < 10^5`;
|
||
- во второй строке список неубывающих `n` натуральных чисел: `a_1, a_2, ..., a_n` (1 <= a_i <= 10^6) - координаты начала препятствий;
|
||
- третья строка содержит `n` натуральных чисел: `b_1, b_2, ..., b_n` (`1 <= b_i <= 3`) типы каждого препятствия:
|
||
|
||
- 1 -> **камень**;
|
||
- 2 -> **бревно**;
|
||
- 3 -> **яма**;
|
||
|
||
- в четвертой строке - количество прыжков Дино `m < 10^5`;
|
||
- пятая строка содержит список неубывающих `m` натуральных чисел: `x_1, x_2, ..., x_m` (`1 <= x_i < 10^6`) - координаты начала прыжков Дино;
|
||
- в шестой строке находятся `m` натуральных чисел - дальности прыжков Дино: `y_1, y_2, ..., y_m` (`y_i in [1, 2, 4]`);
|
||
|
||
## Формат вывода
|
||
|
||
Вывести целое число - результат Дино после прохождения трассы. Если трасса невалидна - вывести **0**.
|
||
|
||
## Пример 1
|
||
|
||
Ввод
|
||
|
||
```
|
||
5
|
||
10 15 20 25 27
|
||
3 1 2 1 1
|
||
4
|
||
9 14 20 25
|
||
1 2 4 4
|
||
```
|
||
|
||
Вывод
|
||
|
||
```
|
||
5
|
||
```
|
||
|
||
## Пример 2
|
||
|
||
Ввод
|
||
|
||
```
|
||
3
|
||
10 11 12
|
||
2 1 2
|
||
2
|
||
9 12
|
||
2 2
|
||
```
|
||
|
||
Вывод
|
||
|
||
```
|
||
0
|
||
```
|
||
|
||
## Пример 3
|
||
|
||
Ввод
|
||
|
||
```
|
||
2
|
||
14 15
|
||
3 1
|
||
2
|
||
9 12
|
||
2 2
|
||
```
|
||
|
||
Вывод
|
||
|
||
```
|
||
0
|
||
```
|
||
|