提交时间:2023-08-14 11:58:41

运行 ID: 98075

#include<bits/stdc++.h> using namespace std; long long n,a[200005],sum,ans,flag,b[15]; string s; int main(){ scanf("%lld",&n); if(n<=5000){ for(int i=1;i<=n;i++)scanf("%lld",a+i); for(int i=1;i<n;i++) for(int j=i+1;j<=n;j++){ sum=a[i]+a[j]; while(sum){ ans+=sum%10; sum/=10; } } ans*=2; for(int i=1;i<=n;i++){ sum=a[i]*2; while(sum){ ans+=sum%10; sum/=10; } } printf("%lld",ans); } else{ for(int i=1;i<=n;i++){ cin>>s; if(s.size()>1)flag=1; for(int j=0;j<s.size();j++)a[i]+=s[j]-'0'; } if(flag){ for(int i=1;i<=n;i++)ans+=n*a[i]; } else{ for(int i=1;i<=n;i++)b[a[i]]++,ans+=a[i]; ans*=n; for(int i=1;i<=8;i++) for(int j=i+1;j<=9;j++) if(i+j>=10)ans-=b[i]*b[j]*9; } cout<<ans; } }