104162024-04-01 22:59:49111Kiváló számok 2cpp17Elfogadva 100/1003ms3540 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long

#define MOD 1000000007

int pow_mod(int x,int p){
	int r=1;
	while(p){
		if(p%2){
			r*=x;
			r%=MOD;
		}
		x*=x;
		x%=MOD;
		p/=2;
	}
	return r;
}

int inv_mod(int x){
	return pow_mod(x,MOD-2);
}

int geo_mod(int q,int n){
	return (pow_mod(q,n)-1)*inv_mod(q-1)%MOD;
}

signed main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	int T;
	cin>>T;
	while(T--){
		int N;
		cin>>N;
		int ans=0;
		if(N%2==0){
			ans=geo_mod(4,N/2);
			ans++;
		}
		else{
			ans=(geo_mod(4,N/2+1)-1)*inv_mod(2)%MOD;
		}
		cout<<ans<<'\n';
	}
	return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1896 KiB
subtask213/13
2Elfogadva3ms2232 KiB
3Elfogadva3ms2360 KiB
subtask324/24
4Elfogadva3ms2524 KiB
5Elfogadva3ms2620 KiB
6Elfogadva2ms2832 KiB
7Elfogadva3ms3064 KiB
subtask434/34
8Elfogadva3ms3196 KiB
9Elfogadva3ms3288 KiB
10Elfogadva2ms3352 KiB
11Elfogadva2ms3332 KiB
subtask529/29
12Elfogadva2ms3336 KiB
13Elfogadva2ms3336 KiB
14Elfogadva2ms3332 KiB
15Elfogadva2ms3328 KiB
16Elfogadva2ms3336 KiB
17Elfogadva3ms3456 KiB
18Elfogadva2ms3540 KiB