1 solutions
-
0
C++ :
#include<iostream> #include<cstdio> #include<algorithm> #include<vector> #define INF 0x7fffffff using namespace std; int S[1000010],g[1000010],d[1000010],N,x,n=0,ans=0; vector<int> num[1000010]; int main(){ cin>>N; for(int i=1;i<=N*5;i++){ scanf("%d",&x); num[x].push_back(i); } for(int i=1;i<=N*5;i++){ scanf("%d",&x); for(int j=num[x].size()-1;j>=0;j--) S[n++]=num[x][j]; } for(int i=1;i<=n;i++) g[i]=INF; for(int i=0;i<n;i++){ int k=lower_bound(g+1,g+n+1,S[i])-g; d[i]=k; g[k]=S[i]; ans=max(ans,d[i]); } printf("%d\n",ans); }
- 1
Information
- ID
- 773
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By