Submission details
Task:Exponentiation
Sender:Ciphra
Submission time:2025-11-20 18:29:21 +0200
Language:C++ (C++17)
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.01 sdetails
#2ACCEPTED0.24 sdetails
#3ACCEPTED0.24 sdetails

Code

#include <iostream>
#include <utility>
#include <vector>
typedef long long ll;
const ll MOD = 1e9 + 7;

int main(){
  int n;
  std::cin >> n;
  std::vector<std::pair<ll, ll>> queries(n);
  for (int i = 0; i<n; ++i){
    ll a, b;
    std::cin >> a >> b;
    queries[i] = {a,b};
  }

  
  for (int i = 0; i<n; ++i){
    ll a = queries[i].first;
    ll b = queries[i].second;

    ll ans = 1;
    while (b > 0) {
      if (b & 1) ans = (a*ans) % MOD;
      a = (a*a) % MOD;
      b = b >> 1;
    }
    std::cout << ans << "\n";
  }


}

Test details

Test 1

Verdict: ACCEPTED

input
10201
0 0
0 1
0 2
0 3
...

correct output
1
0
0
0
0
...

user output
1
0
0
0
0
...
Truncated

Test 2

Verdict: ACCEPTED

input
200000
129612095 411099530
241615980 487174929
60862511 511830781
758816482 982657640
...

correct output
276067146
838400234
148093882
546897305
467086232
...

user output
276067146
838400234
148093882
546897305
467086232
...
Truncated

Test 3

Verdict: ACCEPTED

input
200000
692427692 536870911
252480658 536870911
505090334 536870911
27194853 536870911
...

correct output
940305728
707431813
917260341
908974199
375947818
...

user output
940305728
707431813
917260341
908974199
375947818
...
Truncated