AcWing 5021. 阶乘的和
原题链接
简单
作者:
儒_5
,
2024-09-14 16:25:14
,
所有人可见
,
阅读 10
C++ 代码
#include<iostream>
#include<unordered_map>
using namespace std;
int main(){
int n; cin>>n;
unordered_map<int,int> h;
while(n--){
int k; cin>>k;
h[k]++;
}
// for(auto a:h) cout<<a.first<<" "<<a.second<<endl;
// cout<<endl;
for(auto a:h){
if(a.second==0) continue;
int pre=a.first;
while(h[pre]%(pre+1)==0){
h[pre+1]+=h[pre]/(pre+1);
h[pre]=0;
pre++;
}
}
//for(auto a:h) cout<<a.first<<" "<<a.second<<endl;
int k=1;
int m=1e9;
for(auto a:h){
if(a.second!=0)
m=min(m,a.first);
else continue;
}
cout<<m<<endl;
}