Основное
 
 
Отправитель Задача Язык Вердикт Время Память Отослано Протест.  
108350993 Дорешивание:
Dhoni_fan
1492C - 35 C++17 (GCC 7-32) Полное решение 62 мс 4068 КБ 2021-02-24 05:58:29 2021-02-24 05:58:29
→ Исходный код
#include <bits/stdc++.h>
#include <algorithm>
#include <cmath>
using namespace std;
#define ll long long int

int main(){
    ll n,m;
    cin>>n>>m;
    string s,t;
    cin>>s>>t;
    string p = s;
    string q = t;
    reverse(p.begin(),p.end());
    reverse(q.begin(),q.end());
    ll j =0;
    vector<ll> R(m+1,0),le(m+1,0);
    for(ll i = 0;i<m;i++){
        while(j<n){
            if(p[j]==q[i]){
                R[m-i-1] = n-j;
                j++;
                break;
            }
            j++;
        }
    }
    j=0;
    for(ll i = 0;i<m;i++){
        while(j<n){
            if(s[j]==t[i]){
                le[i]=j+1;
                j++;
                break;
            }
            j++;
        }
    }
    ll ans = 0;
    for(ll i = 1;i<m;i++){
        //if(i==0)a = R[i]-1;
        //else if(i==m)a = n-le[i-1];
        ll a = R[i]-le[i-1];
        //cout<<R[i]<<" "<<le[i-1]<<"\n";
        ans = max(ans,a);
    }
    cout<<ans;
    return 0;
}
?
Время: ? ms, память: ? КБ
Вердикт: ?
Ввод
?
Вывод участника
?
Ответ жюри
?
Комментарий чекера
?
Диагностика
?
Показать детали тестирования