Submission #94560

#TimeUsernameProblemLanguageResultExecution timeMemory
94560thebesLozinke (COCI17_lozinke)C++14
100 / 100
243 ms16184 KiB
#include <bits/stdc++.h> using namespace std; const int MN = 2e4+5; string s[MN]; unordered_map<string,int> mp, w; unordered_set<string> st; int n, i, ans, j, k; int main(){ for(scanf("%d",&n),i=1;i<=n;i++) cin >> s[i]; sort(s+1,s+n+1,[](string i,string j){return i.size()>j.size();}); for(i=1;i<=n;i++){ ans += mp[s[i]]+w[s[i]]; st.clear(); w[s[i]]++; for(j=0;j<s[i].size();j++){ string sub = ""; for(k=j;k<s[i].size();k++){ sub += s[i][k]; if(!st.count(sub)){ st.insert(sub); mp[sub]++; } } } } printf("%d\n",ans); return 0; }

Compilation message (stderr)

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