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
AC × 3
AC × 37
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