B. Balanced Tunnel

mac2026-04-14  2

http://codeforces.com/contest/1237/problem/B

#include <bits/stdc++.h> //#include <cmath> //#include <iostream> //#include <unordered_map> #define lowbit(x) ((x)&(-x)) #define mem(x,y) memset(x,y,sizeof(x)) #define pb push_back #define INF 0x3f3f3f3f #define ll long long #define FAST_IO ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); using namespace std; const int mod=1e9+7; const int N=1e5+9; int a[N],b[N],pos[N]; int c[N*3]; void add(int x) { while(x<N) { c[x]++; x+=lowbit(x); } } int query(int x) { int ans=0; while(x>0) { ans+=c[x]; x-=lowbit(x); } return ans; } int main() { FAST_IO; int n; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; pos[a[i]]=i; } for(int i=1;i<=n;i++) cin>>b[i]; int ans=0; for(int i=n;i>=1;i--) { int num=query(pos[b[i]]-1); if(num>0) ans++; add(pos[b[i]]); } cout<<ans<<endl; return 0; }

 

最新回复(0)