結果
| 問題 | 
                            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 | 
ソースコード
#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]);
	}
}
            
            
            
        
            
tails