Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
32587 | A21μΘ_wjy | 【S】T1 | C++ | 通过 | 100 | 3 MS | 432 KB | 757 | 2024-09-15 14:11:15 |
#include<bits/stdc++.h> #define int long long using namespace std; int L[25]; const int maxn=1e3+7; string OP(int x){ for(int i=0;i<25;i++)L[i]=0; int cnt=-1; while(x){ L[++cnt]=x&1; x>>=1; } string s="1"; for(int i=cnt-1;i>=0;i--){ if(L[i]==1)s=s+"c+1+"; else s=s+"c+"; } return s; } int pl(string s){ int L=s.length(); int cnt=0; for(int i=0;i<L;i++)cnt+=(s[i]=='+'); return cnt; } int n; int b[maxn]; string ANS=""; signed main(){ cin>>n; for(int i=1;i<=n;i++)cin>>b[i]; int cnt=0; for(int i=n;i>=1;i--){ string s=OP(b[i]+cnt); ANS=s+ANS; cnt+=pl(s); } cout<<ANS<<endl; return 0; }