半年没碰OI了 WA7,9,10(m比较大的点)
#include <bits/stdc++.h>
using namespace std;
int n,m,a,ans[500010],cnt[6];
int cal(){
int res=0;
for(int i=1;i<=5;i++){
res+=i*cnt[i];
}
return res;
}
int main(){
cin>>n>>m;
map<int,int> mp;
for(int i=1;i<=n;i++){
cin>>a;
int x=a,y=0;
while(x!=0){
y++;
x/=10;
}
if(mp[a]==0) cnt[y]++;
mp[a]++;
ans[a]=(mp.size()-1)+cal();
}
for(int i=1;i<=m;i++) cout<<ans[i]<<" ";
return 0;
}