Submission #140685

#TimeUsernameProblemLanguageResultExecution timeMemory
140685AlexPascu007Lozinke (COCI17_lozinke)C++98
100 / 100
262 ms2552 KiB
#include <iostream>
#include <map>
#include <string>
#include <set>
#include <algorithm>
using namespace std;
map<string, int> m;
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 n,i,j,k,sol;
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 (j=0;j<s[i].size();j++) {
            sc.erase(sc.begin(),sc.end());
            for (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;
    return 0;
}

Compilation message (stderr)

lozinke.cpp: In function 'int main()':
lozinke.cpp:24:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for (j=0;j<s[i].size();j++) {
                  ~^~~~~~~~~~~~
lozinke.cpp:26:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for (k=j;k<s[i].size();k++) {
                      ~^~~~~~~~~~~~
lozinke.cpp:31:9: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
         for (set<string>:: iterator it=st.begin();it!=st.end();it++)
         ^~~
lozinke.cpp:34:13: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
             if (m.find(s[i])==m.end())
             ^~
#Verdict Execution timeMemoryGrader output
Fetching results...