首页 > 其他 > 详细

CF1471B Strange List 一点点找规律+模拟

时间:2021-09-21 17:38:31      阅读:18      评论:0      收藏:0      [点我收藏+]
#include<bits/stdc++.h>
using namespace std;
long long a[100005],b[100005];
int main( )
{
	
//	freopen("917.in","r",stdin);
	
	int t;
	cin>>t;
	while(t--)
	{
		long long n,x,ans=0,ok=1;
		
		
		cin>>n>>x;
		for(int i=1;i<=n;i++)
		{   long long c;
			cin>>c;
			b[i]=c;
			a[i]=c;
			ans+=c;
		}


		while(ok==1)
		{
			for(int i=1;i<=n;i++)
			{
				if(b[i]%x!=0)//a[i]%x!=0
				 {  
				 	ok=0;
				 	break;
				 }
				 else {
				 	ans+=a[i];
				 	b[i]/=x;
				 } 
			}
		}
		cout<<ans<<endl;
	}
}

  本来是想筛出每个数最多是x的多少次幂,会在哪里被卡,然后找到特定的k*p了事,原来模拟也能过..

CF1471B Strange List 一点点找规律+模拟

原文:https://www.cnblogs.com/liyishui2003/p/15305791.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!