CodeForces 651B
#include <cstdio>
#include <algorithm>
using namespace std;
int a[1005], n, temp, maxk;
int main()
{
scanf("%d", &n);
for(int i = 0; i < n; i++)
{
scanf("%d",&temp);
maxk = max(maxk,++a[temp]);
}
printf("%d\n", n - maxk);
}
共n个画,maxk为最大的(beauty值相同的画)的个数
公式解释:
比如数据是 1 2 2 3 3 3,那么maxk是3,n是6;
让我们把它写成矩阵的样子:
1 2 3;
2 3;
3;
可以看出来
答案应该是2+1+0=3;
先看最后一行,一个单独的3,划掉(无异议吧n-1),接下来我们再看第一 二行,1->2->3是2,2->3是1也就是说最后的这个3是没用的(n-1-1-1),我们直接不计算它就可以了,
所以 答案应该是 n-maxk;
所以 答案应该是 n-maxk;