제출 #244854

#제출 시각아이디문제언어결과실행 시간메모리
244854NONAMERima (COCI17_rima)C++14
14 / 140
1098 ms19292 KiB
#include <bits/stdc++.h>
#define dbg(x) cerr << #x << " = " << x << "\n"
#define fast_io ios_base::sync_with_stdio(0); cin.tie(0); cout.tie()
using namespace std;
using ll = long long;

const int N = 5e5 + 10;

int n, f[N];
string s[N];

int main() {
    fast_io;

    cin >> n;
    for (int i = 0; i < n; ++i)
        cin >> s[i];

    for (int i = 0; i < n; ++i)
    for (int j = i + 1; j < n; ++j) {
        int l1 = int(s[i].size()) - 1, l2 = int(s[j].size()) - 1, k = 0;

        while (l1 >= 0 && l2 >= 0) {
            if (s[i][l1] != s[j][l2])
                break;

            --l1, --l2;
            ++k;
        }


        if (k >= max(int(s[i].size()), int(s[j].size())) - 1)
            f[j] = max(f[j], f[i] + 1);
    }

    int ans = 0;

    for (int i = 0; i < n; ++i)
        ans = max(ans, f[i] + 1);

    cout << ans << "\n";
}
#Verdict Execution timeMemoryGrader output
Fetching results...