Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
106315 | 毛泓博(做题专用,大号Fess) | 交流 | C++ | 输出超限 | 0 | 13 MS | 7804 KB | 790 | 2023-10-11 00:50:06 |
#include<bits/stdc++.h> using namespace std; string f1[1001]; int n,s[5005],f[1001][5005],lens,lenf[1001]; void add(int f[],int lenf) { lens=max(lens,lenf); for(int i=1;i<=lens;i++) { s[i]+=f[i]; if(s[i]>=10) { s[i+1]++; s[i]%=10; } } if(s[lens+1]) lens++; while(!s[lens]&&lens>1) lens--; } void times(string f1,int f[],int& lenf) { lenf=f1.length(); for(int i=1;i<=lenf;i++) f[i]=f1[lenf-i]-48; for(int i=1;i<=lenf;i++) { f[i]*=(n-1); if(f[i]>=10) { f[i+1]+=f[i]/10; f[i]%=10; } } if(f[lenf+1]) lenf++; while(!f[lenf]&&lenf>1) lenf--; } int main() { cin>>n; for(int i=1;i<=n;i++) { cin>>f1[i]; times(f1[i],f[i],lenf[i]); add(f[i],lenf[i]); } for(int i=lens;i>=1;i--) cout<<s[i]; return 0; }