Submission #116820

#TimeUsernameProblemLanguageResultExecution timeMemory
116820souhhcongLozinke (COCI17_lozinke)C++14
100 / 100
308 ms15580 KiB
#include <iostream>
#include <unordered_map>
#include <string>
#include <unordered_set>
using namespace std;

const int N = 2e4+5;
int n, cnt = 0;
string s[N];
unordered_map<string,int> mp;

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        cin >> s[i];
        mp[s[i]]++;
    }
//    cout << s[0].substr(0,1) << endl;
    for (int i = 0; i < n; i++)
    {
        unordered_set<string> Set;
        for (int j = 0; j < s[i].size(); j++)
        {
            for (int k = j+1; k <= s[i].size(); k++)
            {
                string tmp = s[i].substr(j,k-j);
                Set.insert(tmp);
            }
        }
        for (auto x: Set)
        {
            cnt += mp[x];
        }
    }

    cout << cnt-n;
}

Compilation message (stderr)

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