Submission #74549

#TimeUsernameProblemLanguageResultExecution timeMemory
74549ZZangZZangLozinke (COCI17_lozinke)C++17
0 / 100
698 ms17240 KiB
#include <cstdio> #include <vector> #include <algorithm> #include <queue> #include <cstring> #include <functional> #include <string> #include <set> #include <map> typedef long long ll; using namespace std; ll n, sol = 0; string s[20001]; map<string, ll> ms; int main() { scanf("%lld", &n); for(ll i=0; i<n; i++) { char str[20]; scanf("%s", str); s[i] = string(str); if(ms.find(s[i]) == ms.end()) ms.insert(make_pair(s[i], 0)); else ms[s[i]]++; } for(ll k=0; k<n; k++) { set<string> l; vector<string> v; for(ll i=0; i<s[k].size(); i++) { string tmp; for(ll j=i; j<s[k].size(); j++) { tmp += s[k][j]; if(l.find(tmp) == l.end()) l.insert(tmp), v.push_back(tmp); } } for(ll i=0; i<v.size(); i++) { if(v[i] == s[k]) sol += (ll)(ms[v[i]] - 1); else sol += (ll)(ms[v[i]]); } } printf("%lld", sol); return 0; }

Compilation message (stderr)

lozinke.cpp: In function 'int main()':
lozinke.cpp:32:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(ll i=0; i<s[k].size(); i++)
               ~^~~~~~~~~~~~
lozinke.cpp:35:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for(ll j=i; j<s[k].size(); j++)
                ~^~~~~~~~~~~~
lozinke.cpp:41:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(ll i=0; i<v.size(); i++)
               ~^~~~~~~~~
lozinke.cpp:20:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%lld", &n);
  ~~~~~^~~~~~~~~~~~
lozinke.cpp:23:22: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   char str[20]; scanf("%s", str);
                 ~~~~~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...