提交时间:2024-08-20 17:05:19
运行 ID: 169788
#include <bits/stdc++.h> using namespace std; int a[2005],b[2005],c[5005],lena,lenb; int main(){ int n; string st; cin>>n; for(int i=1;i<=n;i++){ cin>>st; lenb=st.size(); for(int j=0;j<lenb;j++){ b[lenb-j]=st[j]-'0'; } int zlen=max(lena,lenb); for(int j=1;j<=zlen;j++){ a[j]+=b[j]; a[j+1]+=a[j]/10; a[j]%=10; } if(a[zlen+1]>0)lena=zlen+1; else lena=zlen; for(int i=1;i<=lenb;i++)b[i]=0; lenb=0; } int x=(n-1)*(n-2)/2; while(x){ b[++lenb]=x%10; x/=10; } int al=lena,bl=lenb; for(int i=1;i<=al;i++){ for(int j=1;j<=bl;j++){ c[i+j-1]+=a[i]*b[j]; c[i+j]+=c[i+j-1]/10; c[i+j-1]%=10; } } int suml=al+bl; for(int i=al+1;i<=suml;i++){ if(c[i]>=10){ c[i+1]+=c[i]/10; c[i]%=10; } } while(suml>1&&c[suml]==0){ suml--; } for(int i=suml;i>=1;i--){ cout<<c[i]; } return 0; }