Загрузка [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js

printРабочее место участника

printЗадачи

740. ИБП

Ограничения: время – 1s/2s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0) idea

В школьной компьютерной сети много источников бесперебойного питания (ИБП), которые должны обеспечить работу компьютеров в случае отключения питания. Поэтому Олегу Петровичу важно знать в каком из ИБП уровень заряда оказался ниже критического. ИБП время от времени сообщают о своем уровне заряда на центральный компьютер. Показания уровня заряда могут меняться из-за ошибок измерения, а также подзарядки или разрядки батарей ИБП.
Напишите программу, которая обрабатывает поступившую информацию от ИБП об уровне их заряда и выводит номер ИБП, у которого M последних показаний уровня заряда оказались меньше или равны критического уровня. Если таких ИБП несколько, то вывести номер того из них, у которого сумма последних M показаний меньше. Если таких ИБП все равно несколько, то вывести ИБП с меньшим номером.
В первой строке входного файла содержится четыре целых числа N, L, M и K, разделенных пробелами – количество ИБП N (1 ), величина критического уровня заряда L (1\ ≤\ L\ <\ 100), количество рассматриваемых последних показаний M (1\ ≤\ M\ ≤\ 100) и количество поступивших показаний от ИБП K (1\ ≤\ K\ ≤\ 100000). Далее следует K строк, в каждой строке два целых числа, разделенных пробелом – показания от ИБП в порядке поступления, сначала указывается номер ИБП от 1 до N, затем уровень заряда в нем от 0 до 100.
В выходной файл вывести K строк, в каждой строке одно целое число – номер ИБП, который нужно высветить после поступления i-го показания, или 0, если заряд ни одного ИБП не достиг критического уровня.

Пример ввода

2 10 3 12
1 16
1 12
2 15
1 9
1 11
2 7
1 10
1 7
2 10
1 8
2 7
2 8

Вывод для примера

0
0
0
0
0
0
0
0
0
1
2
1
loading