結果
| 問題 | No.3398 Accuracy of Integer Division Approximate Function 2 |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-12-04 21:14:23 |
| 言語 | cLay (20250308-1 + boost 1.90.0) |
| 結果 |
CE
|
| 実行時間 | - |
| コード長 | 323 bytes |
| 記録 | |
| コンパイル時間 | 5,118 ms |
| コンパイル使用メモリ | 509,904 KB |
| 最終ジャッジ日時 | 2026-07-18 23:06:39 |
| 合計ジャッジ時間 | 5,857 ms |
|
ジャッジサーバーID (参考情報) |
judge3_0 / judge1_0 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
warning: unknown type [cpp_int] for rd (reader) : D
warning: unknown type [cpp_int] for rd (reader) : A
warning: unknown type [cpp_int] for rd (reader) : B
warning: unknown type [cpp_int] for rd (reader) : K
main.cpp: In function ‘int main()’:
main.cpp:397:7: error: no matching function for call to ‘rd(boost::multiprecision::cpp_int&)’
397 | rd(D);
| ~~^~~
main.cpp:39:13: note: candidate: ‘void rd(int&)’
39 | inline void rd(int &x){
| ^~
main.cpp:39:21: note: no known conversion for argument 1 from ‘boost::multiprecision::cpp_int’ {aka ‘boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<> >’} to ‘int&’
39 | inline void rd(int &x){
| ~~~~~^
main.cpp:65:13: note: candidate: ‘void rd(unsigned int&)’
65 | inline void rd(unsigned &x){
| ^~
main.cpp:65:26: note: no known conversion for argument 1 from ‘boost::multiprecision::cpp_int’ {aka ‘boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<> >’} to ‘unsigned int&’
65 | inline void rd(unsigned &x){
| ~~~~~~~~~~^
main.cpp:83:13: note: candidate: ‘void rd(long long int&)’
83 | inline void rd(long long &x){
| ^~
main.cpp:83:27: note: no known conversion for argument 1 from ‘boost::multiprecision::cpp_int’ {aka ‘boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<> >’} to ‘long long int&’
83 | inline void rd(long long &x){
| ~~~~~~~~~~~^
main.cpp:109:13: note: candidate: ‘void rd(long long unsigned int&)’
109 | inline void rd(unsigned long long &x){
| ^~
main.cpp:109:36: note: no known conversion for argument 1 from ‘boost::multiprecision::cpp_int’ {aka ‘boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<> >’} to ‘long long unsigned int&’
109 | inline void rd(unsigned l
ソースコード
ll@T;REP(T){cpp_int@(D,A,B,K),n,a,b,c,d,m,x,g,r,l=0,h,q,s,v;D/=g=gcd(D,A);A/=g;if(A*B%D<1&&D*K+2>A){wt(-1);}else{h=A*B*K+2;while(l+1<h){x=n=(l+h)/2;a=B;b=-A*B/D;c=D;m=A;s=v=d=0;while(a+=c/m*b,c%=m,s+=d/m*b,d%=m,v>?=s,v>?=s+a*~-n+b*(q=(c*~-n+d)/m),n=q){s+=(a+b)*(a<0);d=m+~d;swap(a,b);swap(c,m);}(v<=B*K?l:h)=x;}wt(g*D*l);}}