提出 #76482967
ソースコード 拡げる
#include<bits/stdc++.h>
using namespace std;
#define ll long long
struct Fenwick{
int n;
vector<ll> bit;
Fenwick(int n_):n(n_),bit(n_+2,0){}
void add(int i,ll x){
i ++;
while(i <= n+1){
bit[i] += x;
i += i&-i;
}
return ;
}
ll sum(int i){
if(i < 0){
return 0;
}
i ++;
ll res = 0;
while(i > 0){
res += bit[i];
i -= i&-i;
}
return res;
}
ll range(int l,int r){
if(l > r){
return 0;
}
return sum(r)-sum(l-1);
}
};
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
int n,q;
cin>>n>>q;
Fenwick row(q+2),col(q+2);
vector<int> rt(n+1,0);
vector<int> ct(n+1,0);
row.add(0, n);
col.add(0, n);
ll ans = 0;
for(int t=1;t<=q;t++){
int op,x;
cin>>op>>x;
if(op == 1){
int old = rt[x];
if(old != 0){
ans -= col.sum(old-1);
}
row.add(old,-1);
rt[x] = t;
row.add(t,1);
ans += col.sum(t-1);
}
else{
int old = ct[x];
if(old != 0){
ans -= (row.sum(q+1)-row.sum(old));
}
else{
ans -= (row.sum(q+1)-row.sum(0));
}
col.add(old,-1);
ct[x] = t;
col.add(t,1);
ans += (row.sum(q+1)-row.sum(t));
}
cout<<ans<<'\n';
}
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | E - E-liter |
| ユーザ | hydroxy |
| 言語 | C++23 (GCC 15.2.0) |
| 得点 | 475 |
| コード長 | 1614 Byte |
| 結果 | AC |
| 実行時間 | 52 ms |
| メモリ | 11216 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 475 / 475 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | sample-01.txt, sample-02.txt |
| All | 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, 39.txt, 40.txt, 41.txt, 42.txt, 43.txt, 44.txt, 45.txt, 46.txt, 47.txt, 48.txt, 49.txt, 50.txt, 51.txt, 52.txt, 53.txt, 54.txt, 55.txt, sample-01.txt, sample-02.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 03.txt | AC | 1 ms | 3648 KiB |
| 04.txt | AC | 1 ms | 3576 KiB |
| 05.txt | AC | 26 ms | 8008 KiB |
| 06.txt | AC | 28 ms | 7920 KiB |
| 07.txt | AC | 2 ms | 5632 KiB |
| 08.txt | AC | 1 ms | 5612 KiB |
| 09.txt | AC | 29 ms | 10296 KiB |
| 10.txt | AC | 29 ms | 10308 KiB |
| 11.txt | AC | 37 ms | 11216 KiB |
| 12.txt | AC | 34 ms | 10328 KiB |
| 13.txt | AC | 27 ms | 8084 KiB |
| 14.txt | AC | 27 ms | 7992 KiB |
| 15.txt | AC | 1 ms | 3704 KiB |
| 16.txt | AC | 1 ms | 5072 KiB |
| 17.txt | AC | 1 ms | 3592 KiB |
| 18.txt | AC | 1 ms | 3752 KiB |
| 19.txt | AC | 8 ms | 4196 KiB |
| 20.txt | AC | 40 ms | 8944 KiB |
| 21.txt | AC | 39 ms | 7908 KiB |
| 22.txt | AC | 39 ms | 8048 KiB |
| 23.txt | AC | 36 ms | 11180 KiB |
| 24.txt | AC | 48 ms | 11176 KiB |
| 25.txt | AC | 36 ms | 11176 KiB |
| 26.txt | AC | 36 ms | 11152 KiB |
| 27.txt | AC | 36 ms | 11180 KiB |
| 28.txt | AC | 39 ms | 8008 KiB |
| 29.txt | AC | 49 ms | 10412 KiB |
| 30.txt | AC | 35 ms | 8104 KiB |
| 31.txt | AC | 47 ms | 10716 KiB |
| 32.txt | AC | 39 ms | 7908 KiB |
| 33.txt | AC | 48 ms | 11076 KiB |
| 34.txt | AC | 43 ms | 8368 KiB |
| 35.txt | AC | 48 ms | 11052 KiB |
| 36.txt | AC | 35 ms | 8076 KiB |
| 37.txt | AC | 47 ms | 11048 KiB |
| 38.txt | AC | 33 ms | 8016 KiB |
| 39.txt | AC | 47 ms | 11208 KiB |
| 40.txt | AC | 36 ms | 11156 KiB |
| 41.txt | AC | 36 ms | 10308 KiB |
| 42.txt | AC | 36 ms | 11176 KiB |
| 43.txt | AC | 36 ms | 11144 KiB |
| 44.txt | AC | 35 ms | 11176 KiB |
| 45.txt | AC | 35 ms | 11028 KiB |
| 46.txt | AC | 43 ms | 11164 KiB |
| 47.txt | AC | 44 ms | 11036 KiB |
| 48.txt | AC | 44 ms | 11188 KiB |
| 49.txt | AC | 43 ms | 11176 KiB |
| 50.txt | AC | 48 ms | 11180 KiB |
| 51.txt | AC | 47 ms | 11048 KiB |
| 52.txt | AC | 52 ms | 11176 KiB |
| 53.txt | AC | 46 ms | 11180 KiB |
| 54.txt | AC | 46 ms | 11180 KiB |
| 55.txt | AC | 51 ms | 11052 KiB |
| sample-01.txt | AC | 1 ms | 3616 KiB |
| sample-02.txt | AC | 1 ms | 5664 KiB |