Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int main(){
- int n;
- scanf("%d",&n);
- int ar1[n+1],ar2[n+1];
- int dp[n+1][n+1];
- for(int j=1;j<=2;j++){
- for(int i=1;i<=n;i++){
- if(j==1) scanf("%d",&ar1[i]);
- else scanf("%d",&ar2[i]);
- }
- }
- for(int i=0;i<=n;i++){
- for(int j=0;j<=n;j++){
- if(i==0||j==0) dp[i][j]=0;
- else if(ar1[i]==ar2[j]) dp[i][j]=1+dp[i-1][j-1];
- else dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
- }
- }
- printf("%d",dp[n][n]);
- return 0;
- }
Add Comment
Please, Sign In to add comment