Submission #2092456


Source Code Expand

#include<cstdio>
#define int long long
inline int sqr(int a,int m){return a*a%m;}
int pow(int a,int n,int m)
{
	if(!n)return 1;
	if(n&1)return sqr(pow(a,n>>1,m),m)*a%m;
	return sqr(pow(a,n>>1,m),m);
}
int gcd(int a,int b){return !b?a:gcd(b,a%b);}
void gcd(int x,int y,int &a,int &b)
{
	if(!y){a=1;b=0;return;}
	gcd(y,x%y,b,a);b-=x/y*a;
}
int solve(int a,int m)
{
	if(m==1)return 1;
	int phi=m,k=m;
	for(int i=2;i*i<=m;i++)
		if(k%i==0)
		{
			phi=phi/i*(i-1);
			while(k%i==0)k/=i;
		}
	if(k>1)phi=phi/k*(k-1);
	int g=gcd(m,phi),y=solve(a,g),o=(pow(a,y,m)-y+m)%m,p,q;
	if(y==-1||o%g)return -1;
	gcd(phi,m,p,q);
	p=(p+m)*o/g%m;
	return y+phi*p;
}
int q,a,m;
signed main()
{
	scanf("%lld",&q);
	while(q--)
	{
		scanf("%lld%lld",&a,&m);
		printf("%lld\n",solve(a,m));
	}
	return 0;
}

Submission Info

Submission Time
Task F - ModularPowerEquation!!
User wangrq
Language C++14 (GCC 5.4.1)
Score 0
Code Size 822 Byte
Status RE
Exec Time 238 ms
Memory 262272 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:36:18: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%lld",&q);
                  ^
./Main.cpp:39:26: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lld%lld",&a,&m);
                          ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 1400
Status
AC × 2
AC × 44
WA × 5
RE × 21
Set Name Test Cases
Sample s1.txt, s2.txt
All 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, 39.txt, 40.txt, 41.txt, 42.txt, 43.txt, 44.txt, 45.txt, 46.txt, 47.txt, 48.txt, 49.txt, 50.txt, 51.txt, 52.txt, 53.txt, 54.txt, 55.txt, 56.txt, 57.txt, 58.txt, 59.txt, 60.txt, 61.txt, 62.txt, 63.txt, 64.txt, 65.txt, 66.txt, 67.txt, 68.txt, s1.txt, s2.txt
Case Name Status Exec Time Memory
01.txt RE 233 ms 262272 KB
02.txt RE 235 ms 262272 KB
03.txt RE 234 ms 262272 KB
04.txt RE 232 ms 262272 KB
05.txt RE 225 ms 262272 KB
06.txt RE 236 ms 262272 KB
07.txt RE 222 ms 262272 KB
08.txt RE 230 ms 262272 KB
09.txt AC 24 ms 128 KB
10.txt RE 223 ms 262272 KB
11.txt WA 1 ms 128 KB
12.txt AC 1 ms 128 KB
13.txt AC 1 ms 128 KB
14.txt WA 1 ms 128 KB
15.txt WA 1 ms 128 KB
16.txt AC 1 ms 128 KB
17.txt AC 1 ms 128 KB
18.txt WA 1 ms 128 KB
19.txt RE 230 ms 262272 KB
20.txt RE 238 ms 262272 KB
21.txt RE 232 ms 262272 KB
22.txt RE 225 ms 262272 KB
23.txt AC 20 ms 128 KB
24.txt AC 22 ms 128 KB
25.txt RE 237 ms 262272 KB
26.txt RE 227 ms 262272 KB
27.txt AC 21 ms 128 KB
28.txt AC 23 ms 128 KB
29.txt AC 20 ms 128 KB
30.txt AC 20 ms 128 KB
31.txt AC 85 ms 128 KB
32.txt AC 84 ms 128 KB
33.txt AC 91 ms 128 KB
34.txt AC 90 ms 128 KB
35.txt AC 64 ms 128 KB
36.txt AC 64 ms 128 KB
37.txt RE 221 ms 262272 KB
38.txt RE 221 ms 262272 KB
39.txt RE 230 ms 262272 KB
40.txt RE 221 ms 262272 KB
41.txt RE 224 ms 262272 KB
42.txt RE 231 ms 262272 KB
43.txt AC 1 ms 128 KB
44.txt AC 1 ms 128 KB
45.txt AC 21 ms 128 KB
46.txt AC 21 ms 128 KB
47.txt AC 1 ms 128 KB
48.txt AC 1 ms 128 KB
49.txt AC 1 ms 128 KB
50.txt AC 1 ms 128 KB
51.txt AC 1 ms 128 KB
52.txt AC 1 ms 128 KB
53.txt AC 1 ms 128 KB
54.txt AC 1 ms 128 KB
55.txt AC 1 ms 128 KB
56.txt AC 1 ms 128 KB
57.txt AC 1 ms 128 KB
58.txt AC 1 ms 128 KB
59.txt AC 1 ms 128 KB
60.txt AC 1 ms 128 KB
61.txt AC 1 ms 128 KB
62.txt WA 1 ms 128 KB
63.txt AC 1 ms 128 KB
64.txt AC 1 ms 128 KB
65.txt AC 1 ms 128 KB
66.txt AC 1 ms 128 KB
67.txt AC 1 ms 128 KB
68.txt AC 1 ms 128 KB
s1.txt AC 1 ms 128 KB
s2.txt AC 1 ms 128 KB