Submission #222236

#TimeUsernameProblemLanguageResultExecution timeMemory
222236ngot23Lozinke (COCI17_lozinke)C++11
100 / 100
521 ms16888 KiB
#include <bits/stdc++.h>
using namespace std;
map <string, int > ma;
int n;
string s[20005];


int main() {
    cin >> n;
    for(int i=1  ;i<=n; ++i) cin >> s[i], ++ma[s[i]];
    int ans=0;
    for(int i=1 ;i<=n ; ++i) {
        vector <string > v;
        int l=s[i].size();
        for(int leng=1 ; leng<=l ; ++leng) {
            for(int j=0 ; j+leng-1<l ; ++j) {
                string k = s[i].substr(j, leng);
                v.push_back(k);
            }
        }
        sort(v.begin(), v.end());
        v.resize(unique(v.begin(), v.end())-v.begin());
        for(string k:v) ans+=ma[k];
    }
    cout << ans-n;

    return 0;
}

#Verdict Execution timeMemoryGrader output
Fetching results...