Submission #1078666

#TimeUsernameProblemLanguageResultExecution timeMemory
1078666khactrung1912Lozinke (COCI17_lozinke)C++14
40 / 100
1072 ms1084 KiB
#include <bits/stdc++.h>
using namespace std;

int n, ans;
string st[20004];

bool check(string x, string y)
{
	if (y.find(x)!=-1) return true;
	return false;
}

void sub1()
{
	ans = 0;

	for (int i=1; i<=n; i++)
		for (int j=1; j<=n; j++)
			if (i!=j && st[j].size()>=st[i].size() && check(st[i],st[j])) ans++;

	cout << ans;			
}

void sub2()
{
	ans = 0;

	for (int i=1; i<n; i++)
		for (int j=i+1; j<=n; j++)
		{
			if (st[i].size()>=st[j].size() && check(st[j],st[i])) ans++;
			if (st[j].size()>=st[i].size() && check(st[i],st[j])) ans++;
		}

	cout << ans;
}

int main()
{
	ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);

	//freopen("PASS.INP","r",stdin);
	//freopen("PASS.OUT","w",stdout);

	cin >> n;
	for (int i=1; i<=n; i++) cin >> st[i];

	if (n<=1000) sub1(); else sub2();

}

Compilation message (stderr)

lozinke.cpp: In function 'bool check(std::string, std::string)':
lozinke.cpp:9:15: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
    9 |  if (y.find(x)!=-1) return true;
      |      ~~~~~~~~~^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...