結果
問題 | No.658 テトラナッチ数列 Hard |
ユーザー |
![]() |
提出日時 | 2018-06-06 09:52:06 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 22 ms / 2,000 ms |
コード長 | 645 bytes |
コンパイル時間 | 478 ms |
コンパイル使用メモリ | 64,408 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-30 10:13:05 |
合計ジャッジ時間 | 1,171 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 8 |
ソースコード
#include <iostream> #include <cstdio> #include <string> #include <vector> #include <cmath> #include <algorithm> using namespace std; #define REP(i,n) for(int i=0;i<(n);++i) #define REPS(i,s,t) for(int i=(s);i<(t);++i) #define INF 2000000007 #define MINF -200000007 #define MOD 17 // 2^20 #define MAX 100005 typedef unsigned int uint; typedef unsigned long long int ull; typedef long long int ll; int dp[4912]; int main(){ int N;cin>>N; dp[0]=dp[1]=dp[2]=0; dp[3]=1; REPS(i,4,4912) dp[i] = (dp[i-4]+dp[i-3]+dp[i-2]+dp[i-1])%MOD; REP(i,N){ ull n;cin>>n; n = (n-1)%4912; cout << dp[n] << endl; } return 0; }