Server
Турнир за Купата на Декана 2018
Time Limit: 0.7s, Memory Limit: 64MiB
Ели администрира сайт, който се хоства в AWS (Amazon Web Services). Amazon имат интересна схема на плащане. В началото момичето плаща фиксирана цена за наемането на сървър. От време на време сървърът получава "кредити" – единици изчислителна мощ, която може да се ползва. Когато сървърът се ползва (например, потребители браузват сайта на Ели) тези кредити намаляват. В случай, че станат отрицателни, сървърът не спира да работи, но Ели трябва да ги плати на значително по-висока цена. Новополучени кредити, след натрупване на отрицателни такива, не ги компенсират, но биха могли да бъдат ползвани за бъдещо потребление.

От AWS през известно време биват пращани съобщения за потреблението:
  • +X означава, че сървърът е получил още X кредита
  • -Y означава, че сървърът е изразходвал още Y кредита
Тези съобщения биват пращани заедно с UNIX timestamp-а, в който е генерирано съобщението. За съжаление, ъпдейтите се случват по UDP, което си има и недостатъци – например, някои от ъпдейтите пристигат в разбъркан ред. Нека разгледаме следния възможен лог:
1514764813 -13 1514764800 +20 1514765924 -19 1514764872 -15 1514765288 +22 1514766602 -37
Според него, във време 1514764813 (14-тата секунда на 1. Януари, 2018г.) са използвани 13 кредита. Второто съобщение, обаче, явно е било изпратено преди първото, тъй като твърди, че във време 1514764800 (първата секунда на годината) са получени 20 кредита. Така ползваните 13 реално не са били "назаем", а са били част от тези 20. Третото съобщение казва, че във време 1514765924 са използвани още 19 кредита, водейки до баланс от 12 "назаем". Четвъртото съобщение отново е с объркан ред, като казва, че във време 1514764872 са използвани още 15. Така останалите 7 кредита от началните 20 всъщност са използвани за тези 15 (водейки до "заем" от 8 кредита), но следващите 19 са изцяло "назаем", правейки заема 27. Петото съобщение казва, че във време 1514765288, тоест преди ползването на тези 19, са получени 22 нови кредита. Те не компенсират 8-те "назаем", които има в момента на получаването им, но биват използвани за 19-те по-късно, оставяйки "заема" на 8 и още 3, които могат да се ползват по-късно. Последният ъпдейт казва, че във време 1514766602 сме изразходвали още 37 кредита, правейки броя кредити "назаем" 8 + 37 – 3 = 42 (тъй като имаме 3 от време 1514765288, които можем да ползваме, преди да почнем да теглим "назаем").

През цялата 2018-та година Ели следеше тези съобщения, като след всяко от тях изчисляваше (спрямо досегашната налична информация) колко кредита "назаем" е събрала. В горния пример, това биха били числата (13, 0, 12, 27, 8, 42). Можете ли да й помогнете, като автоматизирате този процес?
Вход
На първия ред на стандартния вход ще бъде зададено едно цяло число N – колко съобщения са получени. На следващите N реда ще има по едно съобщение с две цели числа Ti Di, указващи, че в timestamp Ti са натрупани или изразходвани Di кредита (положително, ако са натрупани, отрицателно, ако са изразходвани). Всички съобщения ще са с различни времена Ti.
Изход
След всяко съобщение на стандартния изход изведете по едно цяло неотрицателно число – броя кредити "назаем" спрямо досегашната информация.
Ограничения
  • 1 ≤ N ≤ 200,000
  • 1,514,764,800 ≤ Ti ≤ 1,546,300,799
  • -1,000,000,000 ≤ Di ≤ 1,000,000,000
Примерен Вход Примерен Изход
6 1514764813 -13 1514764800 +20 1514765924 -19 1514764872 -15 1514765288 +22 1514766602 -37 13 0 12 27 8 42
Мрън!