Problem:
ワカサギ釣り大会

桧原湖でワカサギ釣り大会が行われました。一番多くのワカサギを獲得した人が優勝者です。

参加者番号と釣った匹数のリストを読み込み、優勝者の番号と釣った匹数を出力するプログラムを作成してください。優勝者が複数いる場合は、その中で参加者番号が最も小さい一人を出力してください。

入力

入力は以下の形式で与えられる。

n
a1 v1
a2 v2
:
an vn

n (1 ≤ n ≤ 20) は参加者の数、ai は参加者番号を表す。参加者番号は 1 以上 n 以下の異なる整数である。vi ( 0 ≤ vi ≤ 100) は参加者 ai が獲得した匹数である。

出力

優勝者の参加者番号と釣った匹数を空白区切りで１行に出力せよ。

入力例

6
1 14
2 25
3 42
4 11
5 40
6 37

出力例

3 42

Solution in C# (judge verdict: Accepted)

using System;
using System.Collections.Generic;
using System.Linq;

namespace AIZU
{
	class Program
	{
		#region Reserve
		static int cin() { return cin(-1); }
		static int cin(int D)
		{
			string s = Console.ReadLine();
			if (string.IsNullOrEmpty(s))
				return D;
			return int.Parse(s);
		}
		static int[] cins(char spliter)
		{
			string s = Console.ReadLine();
			if (string.IsNullOrEmpty(s))
				return new int[] { };
			string[] ss = s.Split(spliter);
			int[] Res = new int[ss.Length];
			int g;
			for (int i = 0; i < ss.Length; i++) { 
				if(int.TryParse(ss[i],out g))
					Res[i] = g;
			}
			return Res;
		}
		static int[] cins() { return cins(' '); }
		static void print(object j) { Console.WriteLine(j.ToString()); }
		static void print(string j) { Console.WriteLine(j); }
		#endregion
		static void Main(string[] args)
		{
			int n = cin();
			int[] Fish = new int[n];
			int[] I;
			for (int iop = 0; iop < n; iop++) {
				I = cins();
				Fish[I[0] - 1] = I[1];
			}
			int Max = Fish.Max();
			int Win = Array.IndexOf(Fish,Max);
			Console.WriteLine("{0} {1}", Win+1 , Max);
		}
	}
}