답안 #994120

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
994120 2024-06-07T06:45:39 Z vjudge1 Rima (COCI17_rima) C++17
56 / 140
1000 ms 84576 KB
#include <bits/stdc++.h>

using namespace std;

#define int long long

signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(NULL),cout.tie(NULL);
	
	int n;
	cin>>n;
	map<int,vector<string>> mp;
	for (int i=0;i<n;i++)
	{
		string s;
		cin>>s;
		mp[s.size()].push_back(s);
	}
	vector<string> v;
	for (auto i:mp)
		for (auto j:i.second)
			v.push_back(j);
	reverse(v.begin(),v.end());
	map<string,int> ans;
	unordered_set<string> se;
	// ans.reserve(500369);
	se.reserve(500369);
	for (auto s:v)
		se.insert(s);
	while (!v.empty())
	{
		string s=v.back();
		v.pop_back();
		int mx=0,m=s.size();
		string s1=s.substr(1,m-1);
		if (ans.find(s1)!=ans.end())
			mx=ans[s1];
		s1='0'+s1;
		for (int c='a';c<='z';c++)
		{
			s1[0]=c;
			if (se.find(s1)!=se.end())
				mx++;
		}
		ans[s]=mx;
	}
	int res=0;
	for (auto i:ans)
		res=max(res,i.second);
	cout<<res<<endl;
	
	return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 4444 KB Output is correct
2 Correct 2 ms 4420 KB Output is correct
3 Correct 2 ms 4444 KB Output is correct
4 Execution timed out 1103 ms 84576 KB Time limit exceeded
5 Correct 45 ms 13656 KB Output is correct
6 Incorrect 16 ms 7620 KB Output isn't correct
7 Incorrect 9 ms 7252 KB Output isn't correct
8 Incorrect 8 ms 6668 KB Output isn't correct
9 Incorrect 67 ms 17980 KB Output isn't correct
10 Incorrect 8 ms 6712 KB Output isn't correct