Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: robgornpeunpadpairoundnigumaipadnea

Problemset: Dvaravati-LCS

Language: cpp

Time: 0.003 second

Submitted On: 2026-03-16 14:09:59

#include <bits/stdc++.h>
using namespace std;

int main(){
    ios_base::sync_with_stdio(false);cin.tie(NULL);
    string s1,s2;cin>>s1>>s2;

    vector<vector<int>> dp(s1.size()+1,vector<int>(s2.size()+1,0));
    string s = "";
    for(int i=1;i<=s1.size();i++){
        for(int j=1;j<=s2.size();j++){
            if(s1[i-1] == s2[j-1]){
                dp[i][j] = dp[i-1][j-1] + 1;
            }
            else dp[i][j] = max(dp[i-1][j],dp[i][j-1]);
        }
    }

    int i = s1.size(),j=s2.size();
    while(i>0 && j>0){
        if(s1[i-1] ==s2[j-1]){
            s+=s1[i-1];i--,j--;
        }
        else if(dp[i-1][j] > dp[i][j-1]){
            i--;
        }else j--;
    }

    reverse(s.begin(),s.end());
    cout <<s<<'\n'<< s.size() << '\n';
    if(s.size() >= (s1.size()/2))cout<<'y';
    else cout<<'n';
}