Submission #99167

#TimeUsernameProblemLanguageResultExecution timeMemory
99167dalgerokRima (COCI17_rima)C++17
28 / 140
253 ms22100 KiB
#include<bits/stdc++.h>
using namespace std;


const int N = 5e5 + 5;




int n;
string s[N];

inline bool check(string &a, string &b){
    int i = 0, res = 0;
    while(i < min((int)a.size(), (int)b.size()) && a[i] == b[i]){
        i += 1;
        res += 1;
    }
    return res >= max((int)a.size(), (int)b.size()) - 1;
}

int main(){
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    cin >> n;
    for(int i = 1; i <= n; i++){
        cin >> s[i];
        reverse(s[i].begin(), s[i].end());
    }
    sort(s + 1, s + n + 1);
    int cur = 1, ans = 1;
    for(int i = 2; i <= n; i++){
        if(check(s[i - 1], s[i])){
            cur += 1;
        }
        else{
            cur = 1;
        }
        ans = max(ans, cur);
    }
    cout << ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...