結果
問題 | No.2104 Multiply-Add |
ユーザー |
![]() |
提出日時 | 2022-10-21 22:05:20 |
言語 | cLay (20241019-1) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 472 bytes |
コンパイル時間 | 2,624 ms |
コンパイル使用メモリ | 172,832 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-07-01 06:38:16 |
合計ジャッジ時間 | 3,987 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 32 |
ソースコード
void f(ll&a,ll&b,ll*p){ ll i=0; while(a){ ll k=-(b/a); p[i++]=k; b+=a*k; if(b){ k=-(a/b); p[i++]=k; a+=b*k; }else{ p[i++]=0; p[i++]=1; p[i++]=-1; b=a; a=0; } } if(b<0){ p[i++]=0; p[i++]=-1; p[i++]=2; p[i++]=-1; b=-b; } a=i; } { ll@a,@b,@c,@d; ll p[1000],pn; ll q[1000],qn; f(a,b,p); f(c,d,q); if(b!=d){ wt(-1); }else{ wt(a+c); rep(i,a){ wt(i&1?1:2,p[i]); } rrep(i,c){ wt(i&1?1:2,-q[i]); } } }