#P2655. 一种抢票系统

一种抢票系统

题目内容

有一个抢票系统,给定总票数 NN , NN 取值范围为 [0,100000][0,100000]。每个用户通过唯一的 UIDUID 标识。

当用户发起抢票请求并完成付款时,系统会生成一个订单,订单通过唯一的订单D标识。此时用户的订单请求会进入排队队列。每个订单请求的票数取值范围为 [0100][0,100] 当请求票数不超过当前余票数,则该订单请求成功;否则请求失败。

同一个用户支持发起多次订单请求。

系统提供一种助力排队机制,在上述订单请求排队期间如果邀请其他用户助力,该用户发起的助力系统会生成一个助力请求,助力请求也会进入上述排队队列,助力请求成功,则被助力的订单请求排队可以向前进一名;请求失败则忽略该助力请求。助力请求需要满足如下规则:一个用户只能辅助一次订单请求,重复的辅助无效;自己不能给自己辅助。每次助力请求只能帮助排在前面之前的订单请求。