Submission #76461708
Source Code Expand
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=3e5+5;
bool st;
int n,q;
int temp1[N],temp2[N];
inline int lowbit(int x) {return x&(-x);}
struct bit{
int a[N];
inline void add(int pos,int x) {
pos++;for(int i=pos;i<=q+1;i+=lowbit(i)) a[i]+=x;
}
inline int get_sum(int pos) {
int res=0;pos++;
for(int i=pos;i;i-=lowbit(i)) res+=a[i];
return res;
}
}t1,t2;
bool ed;
signed main() {
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
cerr<<(double)(&st-&ed)/1024/1024<<'\n';
cin>>n>>q;int res=0;
t1.add(0,n);t2.add(0,n);
for(int i=1;i<=q;i++) {
int op,x;
cin>>op>>x;
if(op==1) {
res+=n-t2.get_sum(temp1[x]-1);
t1.add(i,1);t1.add(temp1[x],-1);temp1[x]=i;
}else {
res-=n-t1.get_sum(temp2[x]);
t2.add(i,1),t2.add(temp2[x],-1);temp2[x]=i;
}cout<<res<<'\n';
}
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | E - E-liter |
| User | wallacewan |
| Language | C++23 (GCC 15.2.0) |
| Score | 475 |
| Code Size | 886 Byte |
| Status | AC |
| Exec Time | 53 ms |
| Memory | 13520 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 475 / 475 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| 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 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 03.txt | AC | 1 ms | 3812 KiB |
| 04.txt | AC | 1 ms | 3896 KiB |
| 05.txt | AC | 26 ms | 6288 KiB |
| 06.txt | AC | 25 ms | 6280 KiB |
| 07.txt | AC | 1 ms | 4048 KiB |
| 08.txt | AC | 1 ms | 3920 KiB |
| 09.txt | AC | 27 ms | 6124 KiB |
| 10.txt | AC | 25 ms | 6124 KiB |
| 11.txt | AC | 34 ms | 8764 KiB |
| 12.txt | AC | 30 ms | 8388 KiB |
| 13.txt | AC | 26 ms | 8532 KiB |
| 14.txt | AC | 25 ms | 6176 KiB |
| 15.txt | AC | 1 ms | 3984 KiB |
| 16.txt | AC | 1 ms | 4000 KiB |
| 17.txt | AC | 1 ms | 3820 KiB |
| 18.txt | AC | 1 ms | 4048 KiB |
| 19.txt | AC | 8 ms | 4880 KiB |
| 20.txt | AC | 38 ms | 11092 KiB |
| 21.txt | AC | 36 ms | 8480 KiB |
| 22.txt | AC | 36 ms | 8784 KiB |
| 23.txt | AC | 32 ms | 9972 KiB |
| 24.txt | AC | 45 ms | 9900 KiB |
| 25.txt | AC | 32 ms | 10032 KiB |
| 26.txt | AC | 32 ms | 10036 KiB |
| 27.txt | AC | 33 ms | 11216 KiB |
| 28.txt | AC | 36 ms | 8412 KiB |
| 29.txt | AC | 46 ms | 13212 KiB |
| 30.txt | AC | 32 ms | 8480 KiB |
| 31.txt | AC | 46 ms | 13208 KiB |
| 32.txt | AC | 36 ms | 8716 KiB |
| 33.txt | AC | 47 ms | 13388 KiB |
| 34.txt | AC | 41 ms | 8852 KiB |
| 35.txt | AC | 47 ms | 13488 KiB |
| 36.txt | AC | 34 ms | 8376 KiB |
| 37.txt | AC | 47 ms | 13432 KiB |
| 38.txt | AC | 32 ms | 8504 KiB |
| 39.txt | AC | 47 ms | 13364 KiB |
| 40.txt | AC | 34 ms | 8908 KiB |
| 41.txt | AC | 32 ms | 8504 KiB |
| 42.txt | AC | 32 ms | 9896 KiB |
| 43.txt | AC | 32 ms | 9900 KiB |
| 44.txt | AC | 32 ms | 9900 KiB |
| 45.txt | AC | 33 ms | 11276 KiB |
| 46.txt | AC | 40 ms | 9936 KiB |
| 47.txt | AC | 41 ms | 9920 KiB |
| 48.txt | AC | 43 ms | 9900 KiB |
| 49.txt | AC | 41 ms | 11176 KiB |
| 50.txt | AC | 50 ms | 13492 KiB |
| 51.txt | AC | 48 ms | 13320 KiB |
| 52.txt | AC | 53 ms | 13324 KiB |
| 53.txt | AC | 46 ms | 13480 KiB |
| 54.txt | AC | 47 ms | 13520 KiB |
| 55.txt | AC | 53 ms | 13392 KiB |
| sample-01.txt | AC | 1 ms | 3868 KiB |
| sample-02.txt | AC | 1 ms | 3984 KiB |