TLE2个点,求助
查看原帖
TLE2个点,求助
1041101
Aventurine_stone楼主2024/1/4 10:43
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=20000010;
ll a;
__int128 s;
__int128 d[N];
ll r;
ll b[1010],len;
int main()
{
	scanf("%lld",&a);
	d[1]=1;
	r=1;
	if(1%a==0)
	{
		cout<<1<<" "<<1;
		return 0;
	}
	while(!s)
	{
		for(ll i=r;i>=1;i--)
		{
			d[i*2]=d[i]*10+1;
			d[i*2-1]=d[i]*10;
		}
		r*=2;
		for(ll i=1;i<=r;i++)
		{
			if(d[i]%a==0)
			{
				s=d[i];
				break;
			}
		}
	}
	__int128 c=s/a;
	while(c)
	{
		b[++len]=c%10;
		c/=10;
	}
	for(int i=len;i>=1;i--)
		printf("%lld",b[i]);
	printf(" ");
	len=0;
	while(s)
	{
		b[++len]=s%10;
		s/=10;
	}
	for(int i=len;i>=1;i--)
		printf("%lld",b[i]);
	return 0;
}
2024/1/4 10:43
加载中...