結果
問題 | No.492 IOI数列 |
ユーザー |
![]() |
提出日時 | 2018-09-12 00:26:14 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 716 bytes |
コンパイル時間 | 1,497 ms |
コンパイル使用メモリ | 159,964 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-24 16:45:59 |
合計ジャッジ時間 | 2,233 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 19 |
ソースコード
#include <bits/stdc++.h> using namespace std; long long modinv(long long a, long long m){ long long b=m, u=1, v=0; while(b){ long long t=a/b; a-=t*b; swap(a,b); u-=t*v; swap(u,v); } u%=m; if (u<0) u+=m; return u; } int main(){ long long N; int i,j; cin>>N; long long N1; N1=N%1000000006; long long a[35]; a[0]=100; for(i=1;i<35;i++){ a[i]=a[i-1]*a[i-1]%1000000007; } long long ans1=1; for(i=0;i<35;i++){ if(N1>>i&1) { ans1*=a[i]; ans1%=1000000007; } } cout<<(ans1-1)*modinv(99,1000000007)%1000000007<<endl; string S="101010101010101010101"; if(N%11!=0) cout<<S.substr(22-N%11*2)<<endl; else cout<<0<<endl; return 0; }