# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
488665 | JovanB | Lozinke (COCI17_lozinke) | C++17 | 398 ms | 16732 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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 (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |