CodeForces-Make It Round

题目

前言

我想了好久,太久没打cf了 变笨了。。。。

然后看了三集ok哥赶海。。。浪费时间了

思路

首先要分析到末尾有0 就是在问10这个因子有多少个

我真菜 连这个也没发现

于是可以发现 2*5 或者5 * 2

然后我们还要知道 就是你利用了多少个K 不是加啊

比如说你有2个5 不是说k用了10次 还是25次 因为这个k是针对原来的n

一旦我们 *5之后 补齐了一个10 还有一个5 再补齐的话 新的10也会再 * 5啊是不是?别的因子之前 *5了 再 *5 实际上你要耗费25个呢

我就是这点没认识到 误以为简单加和

比如 6 11

变成30 (2 * 5)

然后还剩6个,最大就一个0,然后值还要最大,你总不能跟我说这6个你直接乘上去吧

还明显不行 如果你此时要再扩大6倍 总耗费应该是6 *5
然后别的就没什么了 2 5 判断完了 就剩10了 剩下的没什么了

#include<bits/stdc++.h>
#define int long long 
#define endl '\n'
using namespace std;
const int range=2e5+10;
int n;
int k;
void solve()
{      
	cin>>n>>k;
	int x=n;
	int ans1=0;
	int ans2=0;
	int ans3=0;
	while(x%10==0)
	{
		ans1++;
		x/=10;	
	}
	while(x%2==0)
	{
		ans2++;
		x/=2;	
	}
	while(x%5==0)
	{
		ans3++;
		x/=5;	
	}
	int cost=1;
//	cout<<ans2<<" "<<ans3<<endl;
	while(ans3&&cost*2<=k){
		cost*=2;
		ans3--;
	}
	while(ans2&&cost*5<=k){
		cost*=5;
		ans2--;
	} 
	int tot=k-cost;
//	cout<<cost<<" "<<n*cost<<endl;
	while((k-cost*10)>=0)
	{
		cost*=10;
	}
	// 25 5  5 
	// 
	for(int i=2;;i++)
	{
		if(i*cost>k)
		{
	//		cout<<i*cost<<" "<<k<<" "<<cost<<endl;
			cout<<n*(i-1)*cost<<endl;
			return ;
		}
	}
}
signed main()
{
	ios::sync_with_stdio();
	cin.tie(0);
	cout.tie(0);
	int t;
	cin>>t;
	while(t--)
		solve();
	return 0;
} 
//我好菜 
//cin>>n>>k;
//int w=n;
//int ans1=0;
//int ans2=0;
//while(w%2==0)
//{
//	w/=2;
//	ans1++;
//}
//w=n;
//while(w%5==0)
//{
//	w/=5;
//	ans2++;
//}
//int num=0;
//w=n;
//cout<<ans1<<" "<<ans2<<endl;
//if(k-ans2*2>=0)
//{ 
//	num+=ans2*2;
//	k-=ans2*2;
//	if(k-ans1*5>=0)
//	{
//		k-=ans1*5;
//		num+=ans1*5;
//		num+=(k/10);
//		k=k-k/10;
//		cout<<num*n<<endl;
//		cout<<"ss"<<endl;
//	}
//	else{
//		num+=k/5;
//		k=k-k/5;
//		cout<<n*num<<endl;
//		cout<<"sss"<<endl;
//		return ;
//	}		
//}
//else 
//{
//	cout<<(k/2)*n<<endl;
//}
//return ;
////	k-=ans2*2;
////	if(k-ans1*5<=0)
////	{
////	   cout<<(k-k/5)*(n*(k/5+1))<<endl;
////	      return ;
//// 	}
////    	k-=ans2*5;
////	  cout<<(k-k/10)*(n*(k/10+1))<<endl;
posted @ 2025-04-16 19:42  LteShuai  阅读(10)  评论(0)    收藏  举报