【OD机试】池化资源共享
题目描述
有一个局部互联区域内的n台设备,每台设备都有一定数量的空闲资源,这些资源可以池化共享。用户会发起两种操作:
1.申请资源:输入 1 x,表示本次申请需要x个资源。系统要返回当前资源池中能满足此申请且剩余资源最少的设备ID;如果有多台设备满足条件,返回设备 ID 最小的;如果没有任何设备能满足,返回 0 并不做任何分配。
2.释放资源:输入 2 y,表示将第y次申请(不一定是成功分配的那一次)释放回原设备。释放时,资源立即归还,
且空闲资源自动连续,无需考虑空洞,
给定n(1≤n≤ 1000)、操作次数 m(1≤m≤10^5),以及初始时每台设备的空闲资源数 d[1]...d[n](1≤d≤1000),以及接下来 m 行操作,输出每次“申请”操作的返回值。
输入描述
第一行,输入n和 m
第二行输入n台设备的初始空闲资源数
接下来m行,输出要执行的操作,
输出描述
输出每次“申请”操作的返回值。
示例
输入:
2 2
100 500
1 40
1 450
输出:
1 2
题解
import java