Description:

给你n个单词,请你找出长度最长的那个单词。如果长度最长的单词不唯一,请你输出长度最长的单词中字典序最小的那个单词。

Input:

第一行一个整数n, 接下来n行每行一个单词 n<=100 每个单词都由小写字母构成,且长度不超过20

Output:

长度最长的那个单词

Sample Input:


6
illuminate
contradict
abandon
blbnb
decide
annually

Sample Output:


contradict

代码如下:


#include<iostream>
#include<map>
#include<string>
using namespace std;
int main()
{
	int n,i;
	cin >> n;
	string a[100];
	int len[100];
	map<string, int> m;
	string max=a[0];
	for (i = 0; i < n; i++)
	{
		cin >> a[i];
		m[a[i]] = a[i].length();
	}
	for (i = 1; i < n; i++)
	{
		if (m[a[i]] > m[max])
			max = a[i];
		if (m[a[i]] == m[max])
		{
			max = max < a[i] ? max : a[i];
		}
	}
	cout << max;
	return 0;
}