提出 #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 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| 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 |