A171746.Yuilice 的打印店

普及+/提高

官方

通过率:0%

时间限制:3.00s

内存限制:256MB

题目描述

Yuilice 的打印店有 pp 台打印机,编号为 11 到 pp。第 jj 台打印机打印一页需要 sjs_j 个时间单位。

所有打印机共用一个先进先出的等待队列。初始时队列为空,所有打印机均空闲且允许接单。每台打印机同时只能处理一个订单;订单开始后不会被中断、拆分或转移。

有以下四类操作:

操作编号 参数 含义
11 页数 xx 提交一个订单并加入队尾。订单按提交顺序依次编号为 1,2,…1,2,\ldots
22 订单编号 xx 如果该订单仍在等待,则取消;若正在打印、已完成或已取消,则不产生影响
33 打印机编号 xx 暂停该打印机接收新订单,当前订单仍正常打印
44 打印机编号 xx 恢复该打印机接收新订单

重复暂停或重复恢复均不产生额外影响。取消操作引用的订单一定已经提交。

接单规则: 空闲且允许接单的打印机,按编号从小到大依次领取队列中最早的未取消订单。若在时刻 tt 把一个 aa 页的订单交给打印机 jj,它在时刻 t+asjt+a s_j 完成。

同一时刻的处理顺序:

  1. 结算这一时刻所有完成的订单,使对应打印机空闲。
  2. 按输入顺序执行这一时刻的全部操作,操作之间不分配订单。
  3. 按接单规则统一分配等待订单。

没有外部操作的订单完成时刻,也需要执行结算和分配。最后一条操作处理完后,打印店仍按相同规则运行。请输出每个订单最终的结果。

输入格式

第一行包含两个整数 p,qp,q,分别表示打印机数量和操作数量。

第二行包含 pp 个整数 s1,…,sps_1,\ldots,s_p,其中 sjs_j 表示第 jj 台打印机打印一页所需的时间。

接下来 qq 行,每行包含三个整数 t,op,xt,op,x,其中 tt 表示操作发生的时刻,opop 表示操作类型编号,xx 表示该类操作的参数。各类型的具体含义如下:

  • op=1op=1:提交订单,xx 表示该订单的页数。
  • op=2op=2:取消订单,xx 表示要取消的已提交订单编号。
  • op=3op=3:暂停接单,xx 表示要暂停接单的打印机编号。
  • op=4op=4:恢复接单,xx 表示要恢复接单的打印机编号。

操作按时刻不减的顺序给出;同一时刻的输入顺序就是执行顺序。

输出格式

设共有 nn 次提交操作,按订单编号从小到大输出 nn 行:

  • 如果订单完成,输出完成时刻。
  • 如果订单被取消,输出 −1-1。
  • 如果订单最终始终没有开始,输出 −2-2。

最后一种情况是指:所有操作均已处理、所有正在打印的订单均已完成,而等待队列仍有订单且全部打印机都已暂停接单。

输入输出样例

  • 输入#1

    2 7
    2 1
    0 1 3
    0 1 4
    1 1 2
    4 3 2
    4 2 3
    4 1 1
    6 4 2
    

    输出#1

    6
    4
    -1
    8
    
  • 输入#2

    1 5
    1
    0 1 2
    0 2 1
    0 1 1
    1 3 1
    1 1 2
    

    输出#2

    -1
    1
    -2
    

说明/提示

样例解释

样例 11:时刻 00,打印机 11、22 分别领取订单 11、22,完成时刻为 66、44。订单 33 在时刻 11 入队。时刻 44 先完成订单 22,随后暂停打印机 22、取消订单 33、提交订单 44,此时无法接新单。时刻 66,订单 11 完成,打印机 22 恢复;按编号顺序,订单 44 由打印机 11 领取,在时刻 88 完成。

样例 22:时刻 00 的全部操作执行完才接单,所以订单 11 在开始前就被取消。订单 22 在时刻 11 完成。随后打印机暂停,订单 33 一直等待。

数据范围

对于所有测试数据,满足:

  • 1≤p≤201\le p\le20,1≤q≤2×1051\le q\le2\times10^5。
  • 1≤sj≤1061\le s_j\le10^6,操作时刻满足 0≤t≤1090\le t\le10^9。
  • 1≤op≤41\le op\le4;提交操作的页数满足 1≤x≤1061\le x\le10^6。
  • 取消操作的 xx 是此前已提交的某个订单编号;暂停、恢复操作满足 1≤x≤p1\le x\le p。
  • 至少包含一次提交操作。
测试点 分值 额外限制
1–2 10 p=1p=1,且只有提交操作
3–6 20 只有提交操作
7–10 20 只有提交、取消操作
11–20 50 无额外限制

输入解题思路,AI测评打分。不知道怎么写?

首页