Submission #488665

#TimeUsernameProblemLanguageResultExecution timeMemory
488665JovanBLozinke (COCI17_lozinke)C++17
100 / 100
398 ms16732 KiB
#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)

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++){
      |                          ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...