結果
| 問題 |
No.492 IOI数列
|
| コンテスト | |
| ユーザー |
mgingin142857
|
| 提出日時 | 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;
}
mgingin142857