Submission #236865

# Submission time Handle Problem Language Result Execution time Memory
236865 2020-06-03T15:23:51 Z DanShaders Lozinke (COCI17_lozinke) C++17
90 / 100
1000 ms 2296 KB
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
using namespace std;
using namespace __gnu_pbds;

#define all(x) begin(x), end(x)
#define x first
#define y second
typedef long long ll;
typedef long double ld;

template<typename T>
using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;

template<typename T>
using normal_queue = priority_queue<T, vector<T>, greater<T>>;

multiset<string> data_;

signed main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	int n;
	cin >> n;
	for (int i = 0; i < n; ++i) {
		string s;
		cin >> s;
		data_.insert(s);
	}
	int64_t ans = 0;
	for (string s : data_) {
		int sz = (int) s.size();
		set<string> ss;
		for (int j = 0; j < sz; ++j)
			for (int h = 1; h <= sz - j; ++h)
				ss.insert(s.substr(j, h));
		for (string t : ss)
			ans += data_.count(t);
	}
	cout << ans - n << "\n";
	return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 5 ms 384 KB Output is correct
3 Correct 5 ms 384 KB Output is correct
4 Correct 6 ms 384 KB Output is correct
5 Correct 14 ms 384 KB Output is correct
6 Correct 20 ms 512 KB Output is correct
7 Correct 26 ms 640 KB Output is correct
8 Correct 30 ms 512 KB Output is correct
9 Correct 224 ms 1272 KB Output is correct
10 Correct 153 ms 1272 KB Output is correct
11 Correct 394 ms 1656 KB Output is correct
12 Correct 293 ms 1784 KB Output is correct
13 Correct 293 ms 2168 KB Output is correct
14 Correct 333 ms 2168 KB Output is correct
15 Correct 322 ms 2128 KB Output is correct
16 Correct 332 ms 2296 KB Output is correct
17 Execution timed out 1088 ms 2048 KB Time limit exceeded
18 Execution timed out 1055 ms 2048 KB Time limit exceeded
19 Correct 288 ms 2048 KB Output is correct
20 Correct 671 ms 2048 KB Output is correct