Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- /// from HUNG MINE with love <3
- string s[1000001];
- long long res = 0, cnt[400001], t[400001][50], n, cc = 0, sum[1000001];
- int main () {
- if (fopen ("test.inp", "r")) {
- freopen ("test.inp", "r", stdin);
- }
- // else {
- // freopen ("PREFIX.inp", "r", stdin);
- // freopen ("PREFIX.out", "w", stdout);
- // }
- ios_base :: sync_with_stdio (0);
- cin.tie (0);
- cout.tie (0);
- cin >> n;
- for (int i = 1; i <= n; ++ i) {
- cin >> s[i];
- int r = 0;
- for (int j = 0; j < s[i].size (); ++ j) {
- if (t[r][s[i][j]] == 0) {
- t[r][s[i][j]] = ++ cc;
- }
- r = t[r][s[i][j]];
- }
- ++ cnt[r];
- }
- for (int i = 1; i <= n; ++ i) {
- int r = 0;
- for (int j = 0; j < s[i].size (); ++ j) {
- res += cnt[r];
- r = t[r][s[i][j]];
- }
- }
- sum[0] = 0;
- for (int i = 1; i <= n; ++ i) {
- sum[i] = sum[i - 1] + i;//cout << sum[i] << " ";
- }
- for (int i = 0; i <= cc; ++ i) {
- if (cnt[i] != 0 ) res += sum[cnt[i] - 1];
- }
- cout << res;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement