結果

問題 No.2170 Left Addition Machine
ユーザー tails
提出日時 2022-12-22 03:11:31
言語 cLay
(20241019-1)
結果
AC  
実行時間 50 ms / 2,000 ms
コード長 366 bytes
コンパイル時間 4,191 ms
コンパイル使用メモリ 177,324 KB
実行使用メモリ 9,472 KB
最終ジャッジ日時 2024-11-18 06:13:10
合計ジャッジ時間 16,014 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 69
権限があれば一括ダウンロードができます

ソースコード

diff #

#define MD 998244353
ll@n,@q,c[n+1],p=ll_inf;
Mint a[],b[],t[],m,v=Mint(1)/2;
t[0]=1;
rep(i,1,n+1){
	t[i]=t[i-1]*v;
}
c[0]=ll_inf;
rep(i,1,n+1){
	ll@x;
	a[i]=x;
	if(x<=p){
		b[i]=x;
		c[i]=0;
		m=1;
	}else{
		b[i]=b[i-1]+x*m;
		c[i]=c[i-1]+1;
		m*=2;
	}
	p=x;
}
rep(q){
	ll@--l,@r;
	if(r-l==c[r]-c[l]){
		wt((b[r]-b[l])*t[c[l+1]]+a[l+1]*v);
	}else{
		wt(b[r]);
	}
}
0