NC26157. H. 虚无的后缀
描述
输入描述
第一行,两个正整数 ,第 2 行 n 个正整数表示
输出描述
输出一个整数,表示最多有多少个后缀 0
示例1
输入:
2 2 20 5
输出:
2
示例2
输入:
3 2 2 5 20
输出:
2
C++11(clang++ 3.9) 解法, 执行用时: 3ms, 内存消耗: 504K, 提交时间: 2020-02-26 10:56:25
#include<iostream> using namespace std; int main() { long long int n,k,a[205]={0},b[205],c[205],t,i,j,t1,x; cin>>n>>k; for(i=0;i<n;i++) cin>>c[i]; for(i=0;i<205;i++) b[i]=1; for(i=0;i<n;i++) if(c[i]!=0) for(j=k;j>=1;j--) { x=0,t=c[i]; while(t%10==0) x++,t/=10;t=(t%100000000)*b[j]; while(t%10==0) x++,t/=10;t1=t%100000000; if(a[j]<(a[j-1]+x)) b[j]=t1,a[j]=a[j-1]+x; else if(a[j]==a[j-1]+x) b[j]=t1; } cout<<a[k]<<endl; return 0; }