提交时间:2023-08-14 16:04:00
运行 ID: 98359
#include<bits/stdc++.h> using namespace std; #define int long long const int MX=2e6+100; int n,a[MX],ans,P[MX]; vector<int>g[100]; int F(int x){ int ans=0; while(x){ ans+=x%10;x/=10; } return ans; } signed main(){ ios::sync_with_stdio(0); cin>>n;P[0]=1; for(int i=1;i<=16;i++) P[i]=P[i-1]*10; for(int i=1;i<=n;i++) cin>>a[i],ans+=F(a[i]); ans*=n*2; for(int i=1;i<=n;i++){ for(int j=1;j<=16;j++){ g[j].push_back(a[i]%P[j]); } } for(int i=1;i<=16;i++) sort(g[i].begin(),g[i].end()); for(int i=1;i<=n;i++) for(int j=1;j<=16;j++){ int val=P[j],id=a[i]%P[j]; int pos=lower_bound(g[j].begin(),g[j].end(),val-a[i]%P[j])-g[j].begin(); ans-=9*(g[j].size()-pos); } cout<<ans; return 0; }