#include using namespace std; const int MAXN=10*1000; int d[MAXN+10][MAXN+10]; int a[MAXN+10]; int b[MAXN+10]; int main(){ ios::sync_with_stdio(false); int n, m; cin >> n; for(int i=0; i> a[i]; cin >> m; for(int j=0; j> b[j]; for(int i=0; i<=n; i++) d[i][0] = i; for(int j=0; j<=m; j++) d[0][j] = j; for(int i=1; i<=n; i++) for(int j=1; j<=m; j++){ int plus = 1; if( a[i-1] == b[j-1] ) // a and b are 0-base plus = 0; d[i][j] = min( min( d[i-1][j] + 1 , d[i][j-1] + 1 ) , d[i-1][j-1] + plus ); } cout << d[n][m] << endl; return 0; }