题解:P16460 [UOI 2026] Minimum Deletion
shangjiahang · · 题解
题目传送门
P16460 [UOI 2026] Minimum Deletion
题意
给定一个包含
每次只能删除一个数。
分析
既然这题求最小的删除次数使得操作后数组中最小的未出现的非负整数不超过
原理很简单,若
如果有一个数满足没有在原数组中出现且不超过
代码
仅供参考,其实
最后要注意求最小值变量要初始化到极大值。
#include<bits/stdc++.h>
using namespace std;
long long n,a,k,b[100001],mina=1e9+10;
int main(){
cin>>n>>k;
for(long long i=0;i<n;i++){
cin>>a;
if(a>k){
continue;
}
b[a]++; // 统计次数
}
if(k==0){
cout<<b[0];
return 0;
}
for(long long i=0;i<=k;i++){ // 打擂台比较
mina = min(mina,b[i]);
}
cout<<mina;
return 0;
}
严禁抄袭。
管理员辛苦!