为啥MLE
是啥原因?
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
#define int long long
int a;
const int mod = 1e9 + 7;
int qpow(int a, int b) {
int s = 1;
while (b) {
if (b & 1) s = s * a % mod;
a = a * a % mod;
b >>= 1;
}
return s;
}
signed main() {
int n;
scanf("%lld", &n);
for (int i = 0; i < n; i++) {
int t;
scanf("%lld%lld",&a,&t);
if(t==1 && a != 2) {
printf("%lld\n" , 2 * a % mod);
continue;
}
if (a == 1) a = 2, t--;
if (a == 2) {
a = 3, t --;
}
cout << (qpow(2, t) % mod * a) % mod << endl;
}
return 0;
}
/*
355098215
*/