結果
問題 | No.793 うし数列 2 |
ユーザー |
|
提出日時 | 2019-02-22 21:34:35 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 756 bytes |
コンパイル時間 | 1,373 ms |
コンパイル使用メモリ | 160,616 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-25 05:55:09 |
合計ジャッジ時間 | 2,192 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 21 |
ソースコード
#include "bits/stdc++.h" #pragma warning(disable:4996) using namespace std; long long int mod=1e9+7; pair<long long int, long long int>mul( pair<long long int, long long int>&l, pair<long long int, long long int>&r) { auto p=make_pair(l.first*r.first,l.second*r.first+r.second); return make_pair(p.first%mod,p.second%mod); } pair<long long int,long long int> solve(pair<long long int,long long int> a, long long int b) { pair<long long int,long long int>answer(1,0); if(b==0)return answer; if (b % 2) { answer=a; } auto x=solve(a,b/2); x=mul(x,x); answer=mul(answer,x); return answer; } int main() { long long int N;cin>>N; pair<long long int,long long int>p=solve(make_pair(10,3),N); cout<<(p.first+p.second)%mod<<endl; return 0; }