Submission #933111

#TimeUsernameProblemLanguageResultExecution timeMemory
933111dubious_dudeLozinke (COCI17_lozinke)C++17
0 / 100
1091 ms2328 KiB
#include <bits/stdc++.h>
using namespace std;
#define fast_io cin.tie(0)->sync_with_stdio(false);

bool isTrue(string &s1, string &s2) {
    return (s1.find(s2) != s1.npos || s2.find(s1) != s2.npos);
}


int main() {
    fast_io;

    int n; cin >> n;
    vector<string> pass(n);
    unordered_set<string> extras;

    for(int i=0; i<n; i++) {
        cin >> pass[i];
        extras.insert(pass[i]);
    }
    sort(pass.begin(),pass.end());

    int res = (n == extras.size()) ? 0 : abs(long (n-extras.size()));
    for(int i=0; i<n-1; i++) {
        if(!isTrue(pass[i],pass[i+1])) continue;

        res++;
        int j=i+2;

        while(j<n) {
            if(!isTrue(pass[i],pass[j])) break;
            res++;
            j++;
        }
    }

    cout << res;


    return 0;
}

Compilation message (stderr)

lozinke.cpp: In function 'int main()':
lozinke.cpp:23:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::unordered_set<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   23 |     int res = (n == extras.size()) ? 0 : abs(long (n-extras.size()));
      |                ~~^~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...