Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: Chayatoeyy
Problemset: Dvaravati-LCS
Language: cpp
Time: 0.003 second
Submitted On: 2026-03-14 10:02:49
#include<bits/stdc++.h>
using namespace std;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
string a,b;
cin >> a >> b;
int lena = a.length();
int lenb = b.length();
vector<vector<int>> dp(lena+1,vector<int>(lenb+1,0));
for(int i=1;i<=a.length();i++){
for(int j=1;j<=b.length();j++){
if(a[i-1]==b[j-1]){
dp[i][j] = dp[i-1][j-1]+1;
}else{
dp[i][j] = max(dp[i-1][j],dp[i][j-1]);
}
}
}
string ans="";
int i=lena;
int j=lenb;
while(i>=1 && j>=1){
if(a[i-1] == b[j-1]){
ans+=a[i-1];
i--;
j--;
}else if(dp[i][j-1]>=dp[i-1][j]){
j--;
}else i--;
}
reverse(ans.begin(),ans.end());
cout << ans << endl;
cout << dp[lena][lenb] << endl;
cout << (dp[lena][lenb]>=a.size()/2 ? "y":"n");
}