提出 #76484459


ソースコード 拡げる

#include <bits/stdc++.h>
#define int long long
#define ll long long
#define ull unsigned long long
#define inf 1e18
#define eps 1e-9
#define endl "\n"
#define il inline
#define ls 2*k
#define rs 2*k+1
using namespace std;
const int N=3e5+5,M=2505;
const int mod=1e9+7;
inline int read(){
    int x=0,f=1;
    char ch=getchar();
    while(ch<'0'||ch>'9'){
        if(ch=='-') f=-1;
        ch=getchar();
    }
    while(ch>='0' && ch<='9') x=x*10+ch-'0',ch=getchar();
    return x*f;
}
int n,q,Q;
int lstx[N],lsty[N];
struct BIT{
    int f[N];
    inline void add(int p,int v){
        for(;p<=q+1;p+=(p&-p)) f[p]+=v;
        return ;
    }
    inline int query(int p){
        int res=0;
        for(;p;p-=(p&-p)) res+=f[p];
        return res;
    }
}tr[3];
signed main(){
    ios::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    int tc=1;
    while(tc--){
        cin>>n>>q;
        int ans=0,cur=2;
        for(int i=1;i<=n;i++) lsty[i]=1;
        tr[2].add(1,n); 
        Q=q;
        for(;cur<=q+1;cur++)
        {
            int op,x;
            cin>>op>>x;
            if(op==1){
                int pre=lstx[x];
                int now=tr[2].query(q+1)-tr[2].query(pre);
                ans=ans+now,lstx[x]=cur;
                if(pre) tr[1].add(pre,-1);
                tr[1].add(cur,1);
            }
            else{
                int pre=lsty[x];
                int now=tr[1].query(cur)-tr[1].query(pre);
                ans=ans-now,lsty[x]=cur;
                if(pre) tr[2].add(pre,-1);
                tr[2].add(cur,1);
            }
            cout<<ans<<'\n';
        }
    }
    return 0;
}

提出情報

提出日時
問題 E - E-liter
ユーザ Limingxuan
言語 C++23 (GCC 15.2.0)
得点 475
コード長 1689 Byte
結果 AC
実行時間 56 ms
メモリ 13592 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 475 / 475
結果
AC × 2
AC × 55
セット名 テストケース
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 3600 KiB
04.txt AC 1 ms 3468 KiB
05.txt AC 28 ms 5904 KiB
06.txt AC 27 ms 6016 KiB
07.txt AC 2 ms 5904 KiB
08.txt AC 2 ms 5912 KiB
09.txt AC 30 ms 8220 KiB
10.txt AC 28 ms 8248 KiB
11.txt AC 34 ms 11180 KiB
12.txt AC 34 ms 8208 KiB
13.txt AC 28 ms 8248 KiB
14.txt AC 27 ms 6108 KiB
15.txt AC 1 ms 3700 KiB
16.txt AC 2 ms 5364 KiB
17.txt AC 1 ms 3684 KiB
18.txt AC 2 ms 3640 KiB
19.txt AC 9 ms 4580 KiB
20.txt AC 40 ms 10972 KiB
21.txt AC 40 ms 8412 KiB
22.txt AC 39 ms 8448 KiB
23.txt AC 36 ms 11592 KiB
24.txt AC 48 ms 11688 KiB
25.txt AC 35 ms 11728 KiB
26.txt AC 34 ms 11724 KiB
27.txt AC 35 ms 12452 KiB
28.txt AC 38 ms 8248 KiB
29.txt AC 51 ms 12992 KiB
30.txt AC 35 ms 8412 KiB
31.txt AC 52 ms 13224 KiB
32.txt AC 40 ms 8524 KiB
33.txt AC 51 ms 13484 KiB
34.txt AC 44 ms 8704 KiB
35.txt AC 50 ms 13512 KiB
36.txt AC 38 ms 8412 KiB
37.txt AC 48 ms 13480 KiB
38.txt AC 35 ms 8328 KiB
39.txt AC 46 ms 13592 KiB
40.txt AC 35 ms 11060 KiB
41.txt AC 36 ms 8308 KiB
42.txt AC 34 ms 11684 KiB
43.txt AC 35 ms 11688 KiB
44.txt AC 35 ms 11692 KiB
45.txt AC 36 ms 12460 KiB
46.txt AC 43 ms 11600 KiB
47.txt AC 43 ms 11684 KiB
48.txt AC 43 ms 11692 KiB
49.txt AC 43 ms 12284 KiB
50.txt AC 50 ms 13524 KiB
51.txt AC 49 ms 13516 KiB
52.txt AC 55 ms 13516 KiB
53.txt AC 50 ms 13480 KiB
54.txt AC 50 ms 13480 KiB
55.txt AC 56 ms 13532 KiB
sample-01.txt AC 2 ms 3472 KiB
sample-02.txt AC 2 ms 6004 KiB