fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5.  
  6. long long mod = 1e9+7;
  7. long long n2 = 1e6+6;
  8. long long DP[n2][3];
  9.  
  10. DP[1][1]=1;
  11. DP[1][2]=1;
  12.  
  13. for(long long i=2;i<=n2;i++)
  14. {
  15. DP[i][1] = ((4*DP[i-1][1])%mod + DP[i-1][2]%mod)%mod;
  16. DP[i][2] = (DP[i-1][1] + (2*DP[i-1][2])%mod)%mod;
  17. }
  18.  
  19. long long T;
  20. cin>>T;
  21.  
  22. while(T--)
  23. {
  24. long long n;
  25. cin>>n;
  26.  
  27. //cout<<"n="<<n<<endl;
  28.  
  29. cout<<(DP[n][1]+DP[n][2])%mod<<endl;
  30. }
  31.  
  32.  
  33.  
  34. return 0;
  35. }
Success #stdin #stdout 0.02s 27052KB
stdin
3
2
6
1337
stdout
8
2864
640403945