結果

問題 No.2104 Multiply-Add
ユーザー tails
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

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]);
		}
	}
}
0