提出 #29891372


ソースコード 拡げる

#include<bits/stdc++.h>
using namespace std;

const int B=316;
int n,q,a[100005],c[100005],res,ans[1000005];
pair<pair<int,int>,int> qs[1000005];

int main(){

    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);

    cin>>n;
    for(int i=1;i<=n;i++)cin>>a[i];
    cin>>q;
    for(int i=1;i<=q;i++){
        cin>>qs[i].first.first>>qs[i].first.second;
        qs[i].second=i;
    }
    sort(qs+1,qs+1+q,[&](const pair<pair<int,int>,int>& a,const pair<pair<int,int>,int>& b){
        if(a.first.first/B!=b.first.first/B)return a.first.first/B<b.first.first/B;
        if(a.first.second!=b.first.second)return a.first.second<b.first.second;
        return a.second<b.second;
    });
    int l=1,r=0;
    for(int i=1;i<=q;i++){
        int ql,qr;
        tie(ql,qr)=qs[i].first;
        while(r<qr){
            ++r;
            res+=c[a[r]]&1;
            ++c[a[r]];
        }
        while(l>ql){
            --l;
            res+=c[a[l]]&1;
            ++c[a[l]];
        }
        while(r>qr){
            --c[a[r]];
            res-=c[a[r]]&1;
            --r;
        }
        while(l<ql){
            --c[a[l]];
            res-=c[a[l]]&1;
            ++l;
        }
        ans[qs[i].second]=res;
    }
    for(int i=1;i<=q;i++)cout<<ans[i]<<'\n';

    return 0;
}

提出情報

提出日時
問題 G - Range Pairing Query
ユーザ Kizuna_AI
言語 C++ (GCC 9.2.1)
得点 600
コード長 1338 Byte
結果 AC
実行時間 549 ms
メモリ 23140 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 600 / 600
結果
AC × 1
AC × 30
セット名 テストケース
Sample sample_01.txt
All pair_01.txt, pair_02.txt, pair_03.txt, pair_04.txt, sample_01.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt
ケース名 結果 実行時間 メモリ
pair_01.txt AC 477 ms 23140 KiB
pair_02.txt AC 461 ms 22064 KiB
pair_03.txt AC 452 ms 21984 KiB
pair_04.txt AC 451 ms 22020 KiB
sample_01.txt AC 5 ms 3476 KiB
test_01.txt AC 2 ms 3524 KiB
test_02.txt AC 243 ms 12632 KiB
test_03.txt AC 316 ms 16348 KiB
test_04.txt AC 73 ms 5832 KiB
test_05.txt AC 264 ms 13312 KiB
test_06.txt AC 97 ms 6780 KiB
test_07.txt AC 37 ms 4460 KiB
test_08.txt AC 123 ms 8348 KiB
test_09.txt AC 29 ms 4164 KiB
test_10.txt AC 392 ms 20264 KiB
test_11.txt AC 537 ms 22192 KiB
test_12.txt AC 436 ms 22504 KiB
test_13.txt AC 437 ms 22532 KiB
test_14.txt AC 446 ms 22384 KiB
test_15.txt AC 445 ms 21928 KiB
test_16.txt AC 451 ms 22232 KiB
test_17.txt AC 436 ms 22452 KiB
test_18.txt AC 441 ms 22540 KiB
test_19.txt AC 445 ms 22488 KiB
test_20.txt AC 456 ms 21964 KiB
test_21.txt AC 549 ms 22152 KiB
test_22.txt AC 440 ms 22504 KiB
test_23.txt AC 442 ms 22592 KiB
test_24.txt AC 442 ms 22480 KiB
test_25.txt AC 440 ms 19896 KiB