Submission #151899

#TimeUsernameProblemLanguageResultExecution timeMemory
151899phillipLozinke (COCI17_lozinke)C++14
30 / 100
584 ms65540 KiB
#include <bits/stdc++.h>

using namespace std;
bool cmp(string a,string b)
{
    if(a.size()<b.size())return true;
    return false;
}
int n;
string s[2009];
map<string,bool>m[2009];
int main()
{
    cin>>n;
    for(int i=0;i<n;i++)cin>>s[i];
    sort(s,s+n,cmp);
    //for(int i=0;i<n;i++)cout<<s[i]<<"\n";
    for(int i=0;i<n;i++)
    {
        for(int k=0;k<s[i].size();k++)
        {
            for(int j=0;j<s[i].size()-k;j++)
            {
                //cout<<s[i].substr(j,k+1)<<"\n";
                m[i][s[i].substr(j,k+1)]=1;
            }
        }
    }
    int ans=0;
    for(int i=0;i<n;i++)
    {
        for(int j=i+1;j<n;j++)
        {
            if(m[j][s[i]])ans++;
            if(s[i]==s[j])ans++;
        }
    }
    cout<<ans;
}

Compilation message (stderr)

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