結果
問題 |
No.1819 Mirrored 2
|
ユーザー |
![]() |
提出日時 | 2022-01-21 23:06:05 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 906 bytes |
コンパイル時間 | 405 ms |
コンパイル使用メモリ | 32,640 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-26 02:31:19 |
合計ジャッジ時間 | 2,153 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | WA * 1 |
other | WA * 26 |
ソースコード
#include <stdio.h> long long int power(long long int a, long long int b, long long int MOD) { long long int ans = 1; long long int k = a; while(b) { if(b%2==1) ans*=k, ans%=MOD; b/=2; k*=k, k%=MOD; } return ans; } long long int inv(long long int k, long long int MOD) { return power(k,MOD-2,MOD); } int main() { long long int a,b,c,d; scanf("%lld%lld%lld%lld",&a,&b,&c,&d); for(int i=1;i<=9;i++) { long long int t = (d-i+b)%b; t *= inv(70009,b), t %= b; long long int t2 = 1; int Y = -1; for(int j=0;j<=100000;j++) { t2 *= 10, t2%=b; if(t2==t) { Y = j; break; } } if(Y==-1) continue; for(int X=0;X+Y+6<=100000;X++) { long long int s = power(10,X+Y+5,a); s *= i, s %= a; if(s==c) { printf("%d",i); for(int j=1;j<=Y;j++) printf("0"); printf("90007"); for(int j=1;j<=X;j++) printf("0"); return 0; } } } }