結果
問題 | No.557 点対称 |
ユーザー |
![]() |
提出日時 | 2022-08-24 02:33:18 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,150 bytes |
コンパイル時間 | 2,984 ms |
コンパイル使用メモリ | 244,904 KB |
実行使用メモリ | 13,640 KB |
最終ジャッジ日時 | 2024-10-11 08:14:04 |
合計ジャッジ時間 | 7,074 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 28 WA * 1 TLE * 1 |
ソースコード
#include <bits/stdc++.h>using namespace std;using ll = long long;using ull = unsigned long long;using ld = long double;template<class t> using vc = vector<t>;template<class t> using vvc = vc<vc<t>>;using pi = pair<int,int>;using vi = vc<int>;using vvi = vvc<int>;#define rep(i,a,b) for (int i = a; i < b; i++)#define irep(i,a,b) for (int i = a; i > b; i--)#define print(n) cout << n << '\n'#define pritn(n) print(n)#define rup(a,b) (a+b-1)/b#define input(A,N) rep(i,0,N) cin>>A[i]#define chmax(a,b) a = max(a,b)#define chmin(a,b) a = min(a,b)int main(){cout << fixed << setprecision(15);ll N ;cin >> N;if(N==2){print(2);return 0;}ull mod = ull(pow(10,9)) + 7;ull need = rup(N,2);ull now = 5;ull ans = 4;need -= 1;if (N%2 == 1){need -= 1;ans *= 3;}ll ni = 0;ull nn = 1;while (need >= nn) {if (need>>ni&1){ans *= now;ans %= mod;}now *= now;now %= mod;ni += 1;nn *= 2;}print(ans);//system("pause");return 0;}