Submission #141670

#TimeUsernameProblemLanguageResultExecution timeMemory
141670MihneaHedeaLozinke (COCI17_lozinke)C++14
100 / 100
269 ms2424 KiB
#include <iostream> #include <map> #include <string> #include <set> #include <algorithm> using namespace std; map<string, int> m; int n, i, sol; string s[20010], sc; set<string> st; int cmp(string a, string b) { if (a.size() != b.size()) return a.size()<b.size(); else return a<b; } int main () { cin>>n; for (i=1;i<=n;i++) cin>>s[i]; sort(s+1,s+n+1,cmp); for (i=1;i<=n;i++) { st.clear(); for (int j=0;j<s[i].size();j++) { sc.erase(sc.begin(), sc.end()); for (int k=j;k<s[i].size();k++) { sc.push_back(s[i][k]); st.insert(sc); } } for (set<string>:: iterator it = st.begin(); it != st.end(); it++) { if (m.find(*it) != m.end()) sol += m[*it]; } if (m.find(s[i]) == m.end()) m[s[i]] = 1; else m[s[i]]++; } int L = 1; for (i=2;i<=n;i++) { if (s[i] == s[i-1]) L++; else L = 1; sol += L-1; } cout<<sol; }

Compilation message (stderr)

lozinke.cpp: In function 'int main()':
lozinke.cpp:26:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for (int j=0;j<s[i].size();j++) {
                      ~^~~~~~~~~~~~
lozinke.cpp:28:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for (int k=j;k<s[i].size();k++) {
                          ~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...