Submission #170324

#TimeUsernameProblemLanguageResultExecution timeMemory
170324ngmhLozinke (COCI17_lozinke)C++11
100 / 100
306 ms15420 KiB
#include <bits/stdc++.h>
using namespace std;

long long n, c;
string s[20000], t;
unordered_map<string, long long> ori;
set<string> sub;
int main(){
	cin >> n;
	for(int i = 0; i < n; i++){
		cin >> s[i];
		if(ori.count(s[i]) == 0) ori[s[i]] = 1;
		else ori[s[i]]++;
	}
	for(int i = 0; i < n; i++){
		for(int j = 0; j < s[i].size(); j++){
			t = "";
			for(int k = j; k < s[i].size(); k++){
				t += s[i][k];
				sub.insert(t);
			}
		}
		for(auto it: sub){
			c += ori[it];
		}
		c--;
		sub.clear();
	}
	cout << c;
}

Compilation message (stderr)

lozinke.cpp: In function 'int main()':
lozinke.cpp:16:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int j = 0; j < s[i].size(); j++){
                  ~~^~~~~~~~~~~~~
lozinke.cpp:18:21: 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...