Submission details
Task:Exponentiation II
Sender:team_a
Submission time:2020-10-10 16:37:20 +0300
Language:C++ (C++11)
Status:READY
Result:
Test results
testverdicttime
#10.01 sdetails
#20.01 sdetails
#30.01 sdetails
#40.01 sdetails
#50.01 sdetails
#6--details
#7--details
#8--details
#9--details
#10--details
#11--details
#120.01 sdetails
#13UNKNOWN--details

Compiler report

input/code.cpp: In function 'long double modular(long double, int)':
input/code.cpp:11:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (i = 0; i < sizeof(int) * 8; i++) {
              ~~^~~~~~~~~~~~~~~~~

Code

#include<iostream>
#include<cmath>

using namespace std;

long double modular(long double base, int exp)
{
	int x = 1;
	int i;

	for (i = 0; i < sizeof(int) * 8; i++) {
		int least_sig_bit = 0x00000001 & ( (exp) >> i);
		if (least_sig_bit)
			x = (x * base);
		base = (base * base);
	}

	return (x);
}
int main()
{
	long double n, a, b, c;

	cin >> n;

	for (int i = 0; i < n; i++)
	{
		cin >> a >> b >> c;
		cout << int(modular(a, (modular(b, c)))) % int(pow(10, 9) + 7) << endl;
	}
	
	
}

Test details

Test 1

Verdict:

input
100
0 0 4
6 10 0
10 2 10
1 0 8
...

correct output
1
6
148946603
1
3
...

user output
1
6
-147483634
1
3
...
Truncated

Test 2

Verdict:

input
100
9 4 5
8 4 0
4 8 2
3 5 5
...

correct output
214554799
8
279632277
611730172
715652984
...

user output
-147483634
8
-147483634
-147483634
-147483634
...
Truncated

Test 3

Verdict:

input
100
7 8 8
10 10 7
2 9 2
8 10 0
...

correct output
730885442
20339523
993282280
8
625
...

user output
-147483634
-147483634
-147483634
8
625
...
Truncated

Test 4

Verdict:

input
100
5 8 8
2 0 3
9 4 3
4 6 3
...

correct output
282452398
1
989568599
693723814
0
...

user output
-147483634
1
-147483634
-147483634
0
...
Truncated

Test 5

Verdict:

input
100
1 5 9
0 9 10
6 4 0
3 0 2
...

correct output
1
0
6
1
1
...

user output
1
0
6
1
1
...
Truncated

Test 6

Verdict:

input
100000
427077162 725488735 969284582
690776228 346821890 923815306
120792413 830417705 620512131
124338009 281003983 942892968
...

correct output
464425025
534369328
130727849
700118497
107743432
...

user output
(empty)

Test 7

Verdict:

input
100000
549912649 89327521 871975745
535279536 932155670 905816213
823612334 695788501 444512992
759615176 787119545 554458804
...

correct output
881129043
382882527
629531040
187731964
645183800
...

user output
(empty)

Test 8

Verdict:

input
100000
936404322 396567517 790669439
481270350 76922724 629921729
671743438 191526060 967294836
924162618 12077521 309065226
...

correct output
97939641
444610902
764760944
908139640
141442423
...

user output
(empty)

Test 9

Verdict:

input
100000
351202328 968630319 166200341
255212213 264616175 551048264
424158298 619081986 947433051
684487950 75127045 253732667
...

correct output
366599160
848441769
956822386
613949824
120366590
...

user output
(empty)

Test 10

Verdict:

input
100000
209975923 983464825 764619594
941857563 817930575 870450878
369061594 330537317 297179961
654309611 829387219 969440105
...

correct output
374576231
275090960
409421171
987526468
359724919
...

user output
(empty)

Test 11

Verdict:

input
100000
1000000000 1000000000 10000000...

correct output
497489713
497489713
497489713
497489713
497489713
...

user output
(empty)

Test 12

Verdict:

input
1
140306 140306 140306

correct output
191305161

user output
-147483634

Test 13

Verdict: UNKNOWN

input
1
0 0 0

correct output
0

user output
(not available)