Advertisement
lLab__

smmr-087

Mar 30th, 2020
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.55 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int a[1010],b[1010];
  4. int dp[1010][1010];
  5.  
  6. int main(){
  7.     int n;
  8.     scanf("%d",&n);
  9.     for(int i=1;i<=n;++i){
  10.         scanf("%d",&a[i]);
  11.     }
  12.     for(int i=1;i<=n;++i){
  13.         scanf("%d",&b[i]);
  14.     }
  15.     for(int i=1;i<=n;++i){
  16.         for(int j=1;j<=n;++j){
  17.             if(a[i] == b[j]){
  18.                 dp[i][j] = dp[i-1][j-1] + 1;
  19.             }else{
  20.                 dp[i][j] = max(dp[i-1][j] , dp[i][j-1]);
  21.             }
  22.         }
  23.     }
  24.     printf("%d",dp[n][n]);
  25.     return 0;
  26. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement