提交时间:2023-08-14 12:27:36
运行 ID: 98204
#include<bits/stdc++.h> #define int long long using namespace std; const int N=2e5+5; int n; int a[N],s[N],ff[N]; int buc[15]; bool A=true,B=true; int f(int x){ int sum=0; while(x){ int tmp=x%10; if(tmp>4) B=false; sum+=tmp; x/=10; } return sum; } void baoli(){ int sum=0; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ s[i]+=f(a[i]+a[j]); // cout<<f(a[i])<<" "<<f(a[j])<<" "<<f(a[i]+a[j])<<"\n"; } // cout<<s[i]<<" "; sum+=s[i]; } cout<<sum; } void solveB(){ int sum=0; for(int i=1;i<=n;i++) sum+=ff[i]; cout<<sum*n*2; } void solveA(){ int sum=0,ch=0; for(int i=1;i<=n;i++) buc[a[i]]++; for(int i=9;i>=1;i--){ buc[i]+=buc[i+1]; // cout<<buc[i]<<" "; } for(int i=1;i<=n;i++){ sum+=ff[i]; ch+=buc[10-a[i]]; } // cout<<ch; cout<<sum*n*2-9*ch; } signed main(){ ios::sync_with_stdio(false); cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; if(a[i]>9) A=false; ff[i]=f(a[i]); } if(n<=5000){ // cout<<"baoli!"; baoli(); return 0; } // for(int sum=1;sum<=50;sum++){ // cout<<sum<<": "; // int cnt=0; // for(int i=1;i<=sum;i++){ // int j=sum-i; // if(f(i)+f(j)!=f(i+j)){ // cout<<i<<" "<<j<<"\n"; // cnt++; // } // } // cout<<cnt<<"\n"; // } if(B){ solveB(); return 0; } if(A){ solveA(); return 0; } return 0; } /* ºÃÏñ»áд80ptsÁË£¿ ºÃ°É²»»á£¬Ö»»á60pts/kk ÚÀ£¿ºÃÏñ»á80ptsÁË */