有一个分布式检索的系统,一共有k个节点,每个节点都内置缓存,初始状态下缓存为空。
收到检索请求时可以选择由K节点中的1个执行检索任务,对一个特定文件进行检索。
节点在接收到请求后,首先检查缓存是否存在该文件,若该文件不在内存中,则需要花费X读取文件,再花费R时间检索。
之后,节点可以将这个文件缓存,以后该节点对该文件检索只需要花费r的时间即可。
给定一个检索的序列,共包含N个请求,每个请求都有一个需要检索的文件编号。
问如何规划每个请求应该分配的节点,使得在最短的时间内完成检索?
样例1:
K=2,X=5,R=1
N={1,1}
输出:
6
样例2:
K=2,X=5,R=1
N={1,1,2}
输出:
7