目录
问题描述
静态扫描快速识别源代码的缺陷,静态扫描的结果以扫描报告作为输出:
- 文件扫描的成本和文件大小相关,如果文件大小为 N ,则扫描成本为 N 个金币
- 扫描报告的缓存成本和文件大小无关,每缓存一个报告需要 M 个金币
- 扫描报告缓存后,后继再碰到该文件则不需要扫描成本,直接获取缓存结果
给出源代码文件标识序列和文件大小序列,求解采用合理的缓存策略,最少需要的金币数。
输入
第一行为缓存一个报告金币数 M,1≤M≤100 第二行为文件标识序列:F_1F1,F_2F2,F_3F3...F_nFn,其中 1≤N≤10000,1≤F_iFi≤1000 第二行为文件大小序列:S_1S1,S_2S2,S_3S3...S_nSn,其中 1≤N≤10000,1≤S_iSi≤10
输出描述
采用合理的缓存策略,需要的最少金币数
思路解析
获取文件的方式有两种:
第一种是扫描