样例过了,提交全错
查看原帖
样例过了,提交全错
681893
DANXIBAO_Hhh楼主2024/8/7 17:51

家人们,这样例有多水啊

#include <bits/stdc++.h>
using namespace std;
long long n,k,c[205],a[205],b[205],dp[205][205][205];
int main(){
	cin>>n>>k;
	for(int i=1;i<=n;i++){
		cin>>c[i];
		int x=c[i],y=c[i];
		while(x%5==0){
			a[i]++;
			x/=5;
		}
		while(y%2==0){
			b[i]++;
			y/=2;
		}
	}
	long long ans=-1;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=k;j++){
			for(long long l=0;l<=64;l++){
				if(l>=b[i]) dp[i][j][l]=max(dp[i-1][j][l],dp[i-1][j-1][l-b[i]]+a[i]);
				else dp[i][j][l]=dp[i-1][j][l];
				ans=max(min(dp[i][k][l],l),ans);
			}
		}
	}
	cout<<ans;
	return 0;
}
2024/8/7 17:51
加载中...