結果
問題 | No.526 フィボナッチ数列の第N項をMで割った余りを求める |
ユーザー |
![]() |
提出日時 | 2017-06-09 22:28:32 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 89 ms / 2,000 ms |
コード長 | 803 bytes |
コンパイル時間 | 599 ms |
コンパイル使用メモリ | 79,404 KB |
実行使用メモリ | 42,548 KB |
最終ジャッジ日時 | 2024-09-22 15:09:59 |
合計ジャッジ時間 | 1,555 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 12 |
ソースコード
//#define LOCAL#include <fstream>#include <iostream>#include <cmath>#include <algorithm>#include <vector>#include <map>#include <queue>#include <cstring>#include <climits>#include <set>//#define int long long//typedef long long ll;using ll = long long;using R = double;//#define rep(i,n) for(int i=0; i<(n); i++)#define FOR(i,bg,ed) for(ll i=(bg);i<(ed);i++)#define REP(i,n) FOR(i,0,n)#define MOD 1000000007using namespace std;typedef vector<int> V;typedef vector<V> VV;ll F[5000010];signed main(){#ifdef LOCALifstream in("input.txt");cin.rdbuf(in.rdbuf());#endifll N, M;cin >> N >> M;F[1] = 0;F[2] = 1;for (int i=3; i<=N; i++) {F[i] = F[i-1] + F[i-2];F[i] %= M;}cout << F[N] << endl;return 0;}