Submission #1305243

#TimeUsernameProblemLanguageResultExecution timeMemory
1305243tabLozinke (COCI17_lozinke)C++20
100 / 100
247 ms16424 KiB
#include "bits/stdc++.h"
using namespace std;
#define intt long long
#define fi first
#define se second

const intt mxN = 20000+1;
const intt LG = 20;
const intt inf = 1e18; 
const intt mod = 1e9 + 7; 
intt dx[4] = {1, -1, 0ll, 0ll};
intt dy[4] = {0, 0, 1, -1};

map<string,intt> mp;
vector<string> v;
intt n;

void _() {
    cin >> n;
    for(intt i = 0; i < n; i++) {
        string s;
        cin >> s;
        v.push_back(s);
        set<string> st;
        for(intt l = 0; l < s.size(); l++) {
            string cur = "";
            for(intt r = l; r < s.size(); r++) {
                cur += s[r];
                st.insert(cur);
            }
        }
        for(auto u : st) mp[u]++;
    }

    intt ans = -n;
    for(intt i = 0; i < n; i++) {
        ans += mp[v[i]];
    }
    cout << ans << endl;
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL); 
    cout.tie(NULL);

    // freopen("island.in", "r", stdin);
    // freopen("island.out", "w", stdout);

    intt t = 1, buu = 1;
    // cin >> t;
    while(t--){
        // cout << "Case #" << buu++ << ": ";
        _();
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...