제출 #1213383

#제출 시각아이디문제언어결과실행 시간메모리
1213383ttamxExam (eJOI20_exam)C++20
13 / 100
2 ms584 KiB
#include<bits/stdc++.h>

using namespace std;

const int N=100005;

int n;
int a[N],b[N];
map<int,int> pos;

struct Fenwick{
    int t[N];
    void update(int i,int v){
        for(;i<=n;i+=i&-i)t[i]=max(t[i],v);
    }
    int query(int i){
        int res=0;
        for(;i>0;i-=i&-i)res=max(res,t[i]);
        return res;
    }
}f;

int main(){
    cin.tie(nullptr)->sync_with_stdio(false);
    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];
        if(b[i]<a[i])b[i]=0;
    }
    for(int i=1;i<=n;i++){
        int p=pos[b[i]];
        if(p)f.update(p,f.query(p)+1);
    }
    cout << f.query(n);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...