#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ld = long double;
const int N = 20000;
string str[N+5];
map <string, int> cnt;
int main(){
ios_base::sync_with_stdio(false), cin.tie(0);
cout.precision(10);
cout << fixed;
int n;
cin >> n;
for(int i=1; i<=n; i++) cin >> str[i];
sort(str+1, str+1+n, [](string a, string b){ return a.size() < b.size(); });
ll res = 0;
for(int i=1; i<=n; i++){
string s = str[i];
res += cnt[s];
map <string, bool> used;
for(int j=0; j<s.size(); j++){
string t = "";
for(int k=j; k<s.size(); k++){
t += s[k];
if(!used.count(t)) used[t] = 1, res += cnt[t];
}
}
cnt[s]++;
}
cout << res << "\n";
return 0;
}
Compilation message
lozinke.cpp: In function 'int main()':
lozinke.cpp:27:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
27 | for(int j=0; j<s.size(); j++){
| ~^~~~~~~~~
lozinke.cpp:29:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
29 | for(int k=j; k<s.size(); k++){
| ~^~~~~~~~~
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
848 KB |
Output is correct |
2 |
Correct |
1 ms |
848 KB |
Output is correct |
3 |
Correct |
1 ms |
976 KB |
Output is correct |
4 |
Correct |
2 ms |
1000 KB |
Output is correct |
5 |
Correct |
8 ms |
1232 KB |
Output is correct |
6 |
Correct |
14 ms |
1320 KB |
Output is correct |
7 |
Correct |
17 ms |
2024 KB |
Output is correct |
8 |
Correct |
29 ms |
2800 KB |
Output is correct |
9 |
Correct |
70 ms |
2720 KB |
Output is correct |
10 |
Correct |
197 ms |
7752 KB |
Output is correct |
11 |
Correct |
116 ms |
4472 KB |
Output is correct |
12 |
Correct |
348 ms |
16732 KB |
Output is correct |
13 |
Correct |
227 ms |
2796 KB |
Output is correct |
14 |
Correct |
219 ms |
15000 KB |
Output is correct |
15 |
Correct |
398 ms |
16580 KB |
Output is correct |
16 |
Correct |
233 ms |
1296 KB |
Output is correct |
17 |
Correct |
57 ms |
1144 KB |
Output is correct |
18 |
Correct |
42 ms |
1104 KB |
Output is correct |
19 |
Correct |
216 ms |
8600 KB |
Output is correct |
20 |
Correct |
110 ms |
1116 KB |
Output is correct |