結果
問題 | No.2942 Sigma Music Game Level Problem |
ユーザー |
|
提出日時 | 2024-10-18 22:02:28 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 2,889 ms / 6,000 ms |
コード長 | 1,261 bytes |
コンパイル時間 | 477 ms |
コンパイル使用メモリ | 82,248 KB |
実行使用メモリ | 243,720 KB |
最終ジャッジ日時 | 2024-11-14 23:01:06 |
合計ジャッジ時間 | 28,142 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 24 |
ソースコード
def II() -> int : return int(input()) def MI() -> int : return map(int, input().split()) def TI() -> tuple[int] : return tuple(MI()) def LI() -> list[int] : return list(MI()) class fenwick_tree(): n=1 data=[0 for i in range(n)] def __init__(self,N): self.n=N self.data=[0 for i in range(N)] def add(self,p,x): assert 0<=p<self.n,"0<=p<n,p={0},n={1}".format(p,self.n) p+=1 while(p<=self.n): self.data[p-1]+=x p+=p& -p def sum(self,l,r): assert (0<=l and l<=r and r<=self.n),"0<=l<=r<=n,l={0},r={1},n={2}".format(l,r,self.n) return self.sum0(r)-self.sum0(l) def sum0(self,r): s=0 while(r>0): s+=self.data[r-1] r-=r&-r return s mod = 998244353 n,q,l = MI() a = LI() cnt = fenwick_tree(2*10**5+1) scnt = fenwick_tree(2*10**5+1) for i in range(n): cnt.add(a[i],1) scnt.add(a[i],a[i]) f = 0 for i in range(q): qry = LI() if qry[0] == 1: l = qry[1] cnt.add(l,1) scnt.add(l,l) elif qry[0] == 2: l,r = qry[1:] c = cnt.sum(l,r+1) s = scnt.sum(l,r+1) print(c,s) f += 1 if f == 0: print("Not Found!")