80分MLE求大佬优化
查看原帖
80分MLE求大佬优化
1041101
Aventurine_stone楼主2024/1/4 03:43
#include<bits/stdc++.h>
#define ll long long
#define cp complex<double>
using namespace std;
const int N=20000010;
ll a;
__int128 s;
__int128 d[N];
__int128 c[N];
ll l,r,e;
ll b[N],len;
int main()
{
	scanf("%lld",&a);
	d[1]=1;
	l=1,r=1;
	while(1)
	{
		if(l>r)
		{
			for(ll i=1;i<=r;i++)
			{
				c[++e]=d[i]*10;
				c[++e]=d[i]*10+1;
			}
			r=e;
			e=1;
			l=1;
			for(ll i=1;i<=r;i++)
				d[i]=c[i];
		}
		if(d[l]%a==0)
			break;
		l++;
	}
	s=d[l];
	__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 03:43
加载中...