Submission #1078730

# Submission time Handle Problem Language Result Execution time Memory
1078730 2024-08-28T05:17:03 Z khactrung1912 Lozinke (COCI17_lozinke) C++14
45 / 100
1000 ms 1116 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 860 KB Output is correct
2 Correct 1 ms 856 KB Output is correct
3 Correct 1 ms 860 KB Output is correct
4 Correct 3 ms 860 KB Output is correct
5 Correct 12 ms 1092 KB Output is correct
6 Correct 26 ms 856 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 1073 ms 1112 KB Time limit exceeded
10 Correct 986 ms 1116 KB Output is correct
11 Execution timed out 1070 ms 1116 KB Time limit exceeded
12 Execution timed out 1036 ms 1112 KB Time limit exceeded
13 Execution timed out 1033 ms 1096 KB Time limit exceeded
14 Execution timed out 1020 ms 1112 KB Time limit exceeded
15 Execution timed out 1029 ms 1112 KB Time limit exceeded
16 Execution timed out 1031 ms 1112 KB Time limit exceeded
17 Execution timed out 1022 ms 1112 KB Time limit exceeded
18 Execution timed out 1039 ms 1116 KB Time limit exceeded
19 Execution timed out 1063 ms 1116 KB Time limit exceeded
20 Execution timed out 1020 ms 1116 KB Time limit exceeded