爆零求助

P1323 删数问题

希望更丰富的展现?使用Markdown
by phigy @ 2019-11-14 19:59:53


@[hazhoujz](/user/151578)
by phigy @ 2019-11-14 20:00:34


[使用Markdown](https://www.luogu.org/wiki/show?name=%E5%B8%AE%E5%8A%A9%EF%BC%9Amarkdown)
by phigy @ 2019-11-14 20:01:17


``` #include<bits/stdc++.h> using namespace std; int k,m,q1[30010],q2[30010],q[30010],f1=2,f2=2,f=1,r1=1,r2=1,r=1; int n[10000010],num,ans[10000010]; int main() { scanf("%d%d",&k,&m); q1[1]=1; q2[1]=1; q[1]=1; for(int i=2;i<=k;i++){ q1[++r1]=2*q[f]+1; q2[++r2]=4*q[f]+5; f++; if(q1[f1]>q2[f2]) q[++r]=q2[f2],f2++; else q[++r]=q1[f1],f1++; } for(int i=1;i<=k;i++) { printf("%d",q[i]); } printf("\n"); for(int i=k;i>=1;i--) { while(q[i]!=0) n[++num]=q[i]%10,q[i]/=10; } reverse(n+1,n+num+1); int s=num-m,l=1,r=m+1; for(int i=1;i<=s;i++){ int maxn=-100000,we=0; for(int j=l;j<=r;j++) { if(n[j]>maxn) maxn=n[j],we=j; } ans[i]=maxn; l=we+1; r++; } for(int i=1;i<=s;i++) printf("%d",ans[i]); return 0; } ```
by 残碑小筑 @ 2019-11-14 20:02:31


希丰展?使Md
by atarashiTLE @ 2020-03-27 22:27:06


|