Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: qweqwe

Problemset: Dvaravati-LCS

Language: cpp

Time: 0.049 second

Submitted On: 2026-10-08 16:24:35

/*
						 :::=
                        .:.:.
                        :.-
                  .:-:..:=-=.:--:.
                -:.................:-.
             =.........................-
          :::........................:..:
      .-::=...    ............:.......:==-=::
   ==-:::=.    ....:......:....:........=+-:::=
	    :    .::...-.....::..............==:.....
       ..  ...=...-:..:..::..............=+:....=
       : ....::..- ::.:..: .:.....:.....-.--....:.
       -::...=:::.  =.:..-   =.....=.....:-=:...:.
      .::....=####+.:-:..-    :=-::::....:==:...:
      .:::..:=. =++*:.::.:. : .=+-===....:-=:...-
       -:+..-= .===:-  =:.- -=++===*=...:+==::..=
       ::+..--  :..:.   :-: :===:= *-...+-.-::..=
    	===.:=             - ...-   :..-=  -::..:.
         :::.:-                    -..:-   -::...:
            ::  ::                 :.-     =::...-
             :      :-:.     ..:: =.=     --::....:
                    .-==*+==--   ::       =::.....-
                   -:+==:=== :-.          ---......:
                  ###==+.===+ :+.        =:-=:...:.:
                =***#=+:.====#**#:       --:=:...-.::
               #***+===..====+**##-     -:.-:...:+:.-
             .==##=====-+======#= *+    =  =:...: =:-
             : -=.-====:-====-=##=:#+  :  :-:..=   .==
                 =######*#==##*#*-= =     -:.::
                 -=#.  #  #*###*--.-:    =:::
                   .===+=-+===+.        :=.
                    :    :-  =:.
                    :====:-..=#.
                     #***::*###
                     *###..#**#
                     --=. .***-
*/
#include <bits/stdc++.h>
#define akneru cin.tie(0)->sync_with_stdio(0)
using namespace std;
using ll = long long;
using pii = pair<ll,ll>;
using vi = vector<ll>;
using vvi = vector<vector<ll>>;
using db = long double;

const ll INF = 1e18;

int main(){
	akneru;
	string a,b;cin >> a >> b;
	int n=a.size();
	vvi dp(n+1,vi(n+1,0));
	vector<vector<string>> dp2(n+1,vector<string>(n+1,""));
	dp[0][0]=0;
	for (int i=1;i<=n;i++){
		for (int j=1;j<=n;j++){
			if (a[i-1]==b[j-1]){
				dp[i][j]=dp[i-1][j-1]+1;
				dp2[i][j]=dp2[i-1][j-1]+a[i-1];
			}else{
				dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
				if (dp[i-1][j] > dp[i][j-1]){
					dp2[i][j]=dp2[i-1][j];
				}else{
					dp2[i][j]=dp2[i][j-1];
				}
			}
		}
	}cout << dp2[n][n] << "\n" << dp[n][n] << "\n" << (dp[n][n]>=n/2?"y":"n");
	return 0;
}
/*
abcd
babcd
dp[1][2] = 1, dp[0][1] -> dp[1][2]
*/