YEZAELP

SMMR-087: Bridge

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