V - Ice-cream Tycoon(線段樹)
有兩種操作,ARRIVE a b 表示單價為b的冰激凌的進貨數目為a,BUY a b表示同學共拿b元錢,想買a個盡量便宜的冰激凌,若能購買到,輸出HAPPY,否則輸出UNHAPPY”
操作挺簡單,單點更新然後push_up。但是寫起來感覺挺麻煩。
首先先讀入所有的操作,將進貨的冰激凌單價離散化,建立線段樹,然後按讀入順序,對於ARRIVE操作,更新相應的冰激凌的數目及價格,對“BUY操作,優先搜索左子樹,即盡量買便宜的,若能購買,再去更新相應區間的數目及價錢。
#include
#include
#include