Aurora最近在学习深度学习中的卷积神经网络CNN,并且他利用学校电脑从各大网站上爬取到各种图片(图片总数量N是10的倍数)存放在各个文件夹中,他想将这些图片按照7:3的比例划分为训练集和验证集来训练模型,然而由于图片数量太多等诸多原因,这台电脑(Windows XP系统)上剪切粘贴的速度非常慢,Aurora需要尽量减少自己剪切粘贴文件的数量来划分数据集,你能帮帮他嘛?
Aurora最近在学习深度学习中的卷积神经网络CNN,并且他利用学校电脑从各大网站上爬取到各种图片(图片总数量N是10的倍数)存放在各个文件夹中,他想将这些图片按照7:3的比例划分为训练集和验证集来训练模型,然而由于图片数量太多等诸多原因,这台电脑(Windows XP系统)上剪切粘贴的速度非常慢,Aurora需要尽量减少自己剪切粘贴文件的数量来划分数据集,你能帮帮他嘛?
第一行为两个整数,表示图片总数量N和用于存储图片的文件夹数量M
第二行为M个整数,表示各个文件夹下的图片数量p[i]
输出一个整数,表示Aurora需要剪切粘贴文件数量的最小值
输入
测试样例1: 10 3 2 4 4 测试样例2: 20 5 3 4 2 6 5 测试样例3: 30 3 11 5 14
输出
输出1: 1 输出2: 0 输出3: 2
数据范围:
$2≤ N ≤ 5*10^5$,$2≤ M ≤ N$
$1 ≤ p[i] ≤ N$
样例解释:
对于样例1,图片总数量为10,需要用于训练集图片的数量为7,验证集图片数量为3,Aurora可以选择将第2个文件夹内的1张图片剪切粘贴到第1个文件夹内,将第1个用作验证集,第2个文件夹和第3个文件夹用作训练集。
对于样例2,图片总数量为20,需要用于训练集图片的数量为14,验证集图片数量为6,Aurora可以直接将第1个、第4个和第5个文件夹用作训练集,第2个和第3个文件夹用作验证集。
对于样例3,图片总数量为30,需要用于训练集图片的数量为21,验证集图片数量为9,Aurora可以选择将第1个文件夹内的2张图片剪切粘贴到第2个文件夹内,将第1个用作验证集,第2个和第3个文件夹用作训练集。