有M台服务器资源,每台服务器包含属性:编号(整数),CPU核数(1-100),内存(10-1000),CPU架构(0~8),是否支持NP加速卡标识(0,1)。
请根据资源分配要求分配N台满足要求的服务器。资源分配要求: CPU核数>=cpuCount,内存>=memSize, CPU架构=cpuArch, 是否支持NP卡=supportNP。其中,cpuCount、memSize、cpuArch、supportNP为输入 的分配参数。 分配时同时会指定优选级策略strategy,策略如下: 策略1:CPU优先,表示优选CPU核数满足分配要求并最接近分配要求的cpuCount。当CPU核数相同时,再按内存满足要求并最接近memSize的服务器分配。 策略2:内存优先,表示优选内存满足分配要求并最接近分配要求的memSize。当内存相同时,再按CPU核数满足要求并最接近cpuCount的服务器分配。 如果两台服务器属性都相同,则按服务器编号从小到大选择(编号不会重复)
输入描述: 第一行服务器数量M台
接下来M行为M台服务器属性的数组,如样例1
紧接下一行为分配要求:最大分配数量N,分配策略strategy,cpuCount,memSize,cpuArch,supportNP。以空格间隔。
其中: 1 <= M <= 1000
1 <= N <= 1000
strategy: 1表示策略1,2表示策略2
1 <= cpuCount <= 100
10 <= memSize <= 1000
0 <= cpuArch <= 8,另外,cpuArch使用9表示所有CPU架构都满足分配要求
0 <= supportNP <= 1,另外,supportNP为2时表示不论是否支持NP卡都满足分配要求
输出:
先输出实际分配数量,后按分配的服务器编号从小到大依次输出,以空格间隔
示例:
输入:
4
0,2,200,0,1
1,3,400,0,1
2,3,400,1,0
3,3,300,0,1
3 1 3 200 0 1
输出:
2 1 3