Название Описание
река Лицзян имеет н- н-дома очень уникально трактир, постоялый двор в соответствии с их положением в порядке от 1 1 до п п чисел. Каждая гостиница осуществляется в соответствии с определенным видом тона декоративного (всего K K вид целого 0 0 ~ к-1 к - 1 представляет), и каждую гостиница имеет кафе, каждый из них имеет свое собственное кафе минимальное потребление.
Для того, чтобы идти вместе с двумя туристами в Лицзян туризме, они , как один и тот же тон, хотят попробовать два разные таверну, было решено, живущими в том же двухцветной гостинице. В ночном время , они намерены выбрать кафе пить кофе, кофейня находится в требованиях ( в том числе в гостиницу они жили) между два трактиром как жить, и самым низким потреблением кофеен не превышает р- р-.
Они хотят знать , сколько есть в общей сложности выбора программ размещения, чтобы гарантировать , что в ночное время вы можете найти минимальное потребление не превышает р кофейню р юань-вместе.
Формат ввода
Общая строка п + 1.
Первый ряд из трех целых чисел п, К, Р n- , К , Р, между каждыми двумя целыми числами , разделенных пространством, соответственно, наибольшим числом, и количеством тонов самой низкой приемлемой гостиницей;
Следуя по n - п-го, + 1 я + 1 строка два целых числа, разделенных пробелом между ними, соответственно , я я Количество двор оформлены в пастельных тонах и я минимальным потреблением кафе числа я МНН.
Формат вывода
Целое число, то общее количество альтернативного представления плана размещения.
Пример ввода и вывода
5 2 3 0 5 1 3 0 2 1 4 1 5
3
Описание / Советы
Пример Описание [O]
2 людей хотят жить в том же тоне гостинице, все альтернативные программы включают в себя: живой двор ①③, ②④, ②⑤, ④⑤, но если вы хотите жить 4 4 и 5 , затем 5 гостиница 4 4 и 5 между 5 гостиницей минимальное потребление кофеен составляет 4 4 и низкий потребитель способен выдержать два 3 $ 3, он не отвечает требованиям. Таким образом, только первые 3 три схемы по желанию.
[Диапазон данных]
Для 30 \% . 3 0 % данных, существуют п ≦ 100 п ≤ 1. 0 0;
Для 50 \% . 5 0 % данных, есть п-1, 000 п ≤ 1. , 0 0 0;
Для получения 100 \% . 1 0 0 % данных, есть 2 ≤200,000,0 ≤n <K ≤50,0≤p & le ; 100, 0 ≤ 2 ≤ n - ≤ 2 0 0 , 0 0 0 , 0 < K ≤ . 5 0 , 0 ≤ р- ≤ 1 0 0 , 0 ≤ минимальное потребление ≤100 ≤ 1 0 0.
Идеи:
Линейная искать все содержание записи последним, на позицию последнего вхождения определенного стиля, CNT возникает рекорд по количеству каждого цвета, если текущая цена находится в соответствии с
И он появился раньше, количество обновлений в цвет этого стиля в значении каждый раз, когда совокупный ответ
Код:
# include <cstdio> #include <iostream> использование патезраса; сопзЬ Int N = 100000; ИНТ последний [N], сумма [N], CNT [N], ANS, в настоящее время; Int N, к, р; ИНТ основной () { INT цвет, цена; зсапЕ ( "% d% d% d", & п, & к, & р); для (INT = 1; г <= п; я ++) { Scanf ( "% D% D", & цвет, & цена); если (цена <= р) = Теперь я; если (последний [цвет] <= сейчас) сумма [цвет] = CNT [цвет]; Последний [цвет] = я; ANS + = сумма [цвет]; CNT [цвет] ++; } Е ( "% d \ п", ANS); возвращать 0; }