Submission #33456454
Source Code Expand
#include<bits/stdc++.h> #define int long long using namespace std; inline int read(){ int x=0,f=1;char c=getchar(); for(;(c<'0'||c>'9');c=getchar()){if(c=='-')f=-1;} for(;(c>='0'&&c<='9');c=getchar())x=x*10+(c&15); return x*f; } const int MN=3e5+5; int n,col[MN],val[MN]; vector<int>vec[MN]; struct BIT{ int c[MN]; int lowbit(int x){return x&(-x);} void add(int x,int k){for(int i=x;i<=n;i+=lowbit(i))c[i]+=k;} int sum(int x){int res=0;for(int i=x;i;i-=lowbit(i))res+=c[i];return res;} void clear(){memset(c,0,sizeof(c));} }T; signed main(void){ #ifndef ONLINE_JUDGE freopen("in.in","r",stdin); #endif n=read();int ans=0; for(int i=1;i<=n;i++)col[i]=read(); for(int i=1;i<=n;i++)val[i]=read(); for(int i=1;i<=n;i++){ ans+=T.sum(n)-T.sum(val[i]); T.add(val[i],1); } for(int i=1;i<=n;i++)T.add(val[i],-1); for(int i=1;i<=n;i++)vec[col[i]].push_back(val[i]); for(int i=1;i<=n;i++){ for(int p:vec[i]){ ans-=T.sum(n)-T.sum(p); T.add(p,1); } for(int p:vec[i])T.add(p,-1); } cout<<ans<<endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | F - Sorting Color Balls |
User | YunQianQwQ |
Language | C++ (GCC 9.2.1) |
Score | 500 |
Code Size | 1094 Byte |
Status | AC |
Exec Time | 109 ms |
Memory | 26900 KiB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 500 / 500 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | example_00.txt, example_01.txt, example_02.txt |
All | example_00.txt, example_01.txt, example_02.txt, hand_00.txt, hand_01.txt, hand_02.txt, hand_03.txt, hand_04.txt, hand_05.txt, hand_06.txt, random_00.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, random_16.txt, random_17.txt, random_18.txt, random_19.txt, random_20.txt, random_21.txt, random_22.txt, random_23.txt, random_24.txt, random_25.txt, random_26.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
example_00.txt | AC | 24 ms | 10396 KiB |
example_01.txt | AC | 11 ms | 10496 KiB |
example_02.txt | AC | 8 ms | 10396 KiB |
hand_00.txt | AC | 106 ms | 26900 KiB |
hand_01.txt | AC | 105 ms | 26736 KiB |
hand_02.txt | AC | 93 ms | 24460 KiB |
hand_03.txt | AC | 56 ms | 21292 KiB |
hand_04.txt | AC | 82 ms | 21132 KiB |
hand_05.txt | AC | 9 ms | 10492 KiB |
hand_06.txt | AC | 12 ms | 10608 KiB |
random_00.txt | AC | 88 ms | 20552 KiB |
random_01.txt | AC | 94 ms | 20324 KiB |
random_02.txt | AC | 66 ms | 19184 KiB |
random_03.txt | AC | 55 ms | 18428 KiB |
random_04.txt | AC | 55 ms | 17328 KiB |
random_05.txt | AC | 98 ms | 21312 KiB |
random_06.txt | AC | 88 ms | 20028 KiB |
random_07.txt | AC | 68 ms | 20092 KiB |
random_08.txt | AC | 67 ms | 18732 KiB |
random_09.txt | AC | 66 ms | 17808 KiB |
random_10.txt | AC | 102 ms | 22828 KiB |
random_11.txt | AC | 100 ms | 22532 KiB |
random_12.txt | AC | 79 ms | 21300 KiB |
random_13.txt | AC | 71 ms | 20268 KiB |
random_14.txt | AC | 71 ms | 19368 KiB |
random_15.txt | AC | 104 ms | 22748 KiB |
random_16.txt | AC | 103 ms | 22464 KiB |
random_17.txt | AC | 78 ms | 21500 KiB |
random_18.txt | AC | 72 ms | 20728 KiB |
random_19.txt | AC | 73 ms | 19680 KiB |
random_20.txt | AC | 104 ms | 22812 KiB |
random_21.txt | AC | 100 ms | 22300 KiB |
random_22.txt | AC | 74 ms | 21076 KiB |
random_23.txt | AC | 71 ms | 20504 KiB |
random_24.txt | AC | 73 ms | 20340 KiB |
random_25.txt | AC | 104 ms | 22756 KiB |
random_26.txt | AC | 109 ms | 22400 KiB |