Submission #1078175

# Submission time Handle Problem Language Result Execution time Memory
1078175 2024-08-27T13:31:46 Z ntnq Lozinke (COCI17_lozinke) C++17
45 / 100
1000 ms 1352 KB
#include <iostream>
#include <algorithm>

using namespace std;

struct Trie {
    struct Node {
        Node *child[26];
        int cnt, exist;

        Node() {
            cnt = exist = 0;
            for (int i = 0; i < 26; ++i)
                child[i] = NULL;
        }
    };
    
    int cur;
    Node *root;
    Trie() : cur(0) {
        root = new Node();
    }

    void add_str(string s) {
        Node *p = root;
        for (char c : s) {
            c -= 'a';

            if (p->child[c] == NULL)
                p->child[c] = new Node();

            p = p->child[c];
            p->cnt++;
        }

        p->exist++;
    }
};

int n;
string a[20022];

namespace sub1 {
    int res = 0;

    void solve() {
        for (int i = 1; i <= n; ++i)
            for (int j = 1; j <= n; ++j)
                if (i != j &&  a[i].find(a[j]) <= 10)
                    ++res; 
        
        cout << res;
    }
}

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


    cin >> n;
    for (int i = 1; i <= n; ++i)
        cin >> a[i];

    sort(a+1, a+n+1, [](string &s1, string &s2) {
        return s1.size() > s2.size();
    });


    sub1::solve();
}

Compilation message

lozinke.cpp: In member function 'void Trie::add_str(std::string)':
lozinke.cpp:29:26: warning: array subscript has type 'char' [-Wchar-subscripts]
   29 |             if (p->child[c] == NULL)
      |                          ^
lozinke.cpp:30:26: warning: array subscript has type 'char' [-Wchar-subscripts]
   30 |                 p->child[c] = new Node();
      |                          ^
lozinke.cpp:32:26: warning: array subscript has type 'char' [-Wchar-subscripts]
   32 |             p = p->child[c];
      |                          ^
# Verdict Execution time Memory Grader output
1 Correct 1 ms 856 KB Output is correct
2 Correct 1 ms 860 KB Output is correct
3 Correct 1 ms 860 KB Output is correct
4 Correct 3 ms 860 KB Output is correct
5 Correct 11 ms 1092 KB Output is correct
6 Correct 26 ms 1096 KB Output is correct
7 Correct 42 ms 860 KB Output is correct
8 Correct 32 ms 860 KB Output is correct
9 Execution timed out 1060 ms 1116 KB Time limit exceeded
10 Correct 946 ms 1112 KB Output is correct
11 Execution timed out 1056 ms 1116 KB Time limit exceeded
12 Execution timed out 1055 ms 1112 KB Time limit exceeded
13 Execution timed out 1012 ms 1116 KB Time limit exceeded
14 Execution timed out 1046 ms 1116 KB Time limit exceeded
15 Execution timed out 1065 ms 1116 KB Time limit exceeded
16 Execution timed out 1061 ms 1116 KB Time limit exceeded
17 Execution timed out 1029 ms 1116 KB Time limit exceeded
18 Execution timed out 1039 ms 1352 KB Time limit exceeded
19 Execution timed out 1068 ms 1116 KB Time limit exceeded
20 Execution timed out 1022 ms 1116 KB Time limit exceeded