Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- struct comp
- {
- bool operator()(const string &s1, const string &s2)
- {
- return lexicographical_compare(s1.begin(), s1.end(), s2.begin(), s2.end());
- };
- };
- int main()
- {
- int n;
- cin >> n;
- set<string, comp> z, z1;
- for (int i = 0; i < n; ++i)
- {
- string s;
- cin >> s;
- z.insert(s);
- }
- int totallen = 0;
- for (auto it = z.begin(); it != z.end(); ++it)
- {
- string s = *it, s1 = "";
- cout << "s = " << s << '\n';
- for (int i = 0; i < s.length(); ++i)
- {
- s1 += s[i];
- cout << " searching " << s1 << '\n';
- if (z1.find(s1) == z1.end())
- {
- cout << " inserting " << s1 << '\n';
- z1.insert(s1);
- totallen += i+1;
- break;
- }
- }
- }
- cout << totallen;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement