Problem:
スピードスケートバッジテスト

スピードスケートバッジテストでは、2 種類の距離で規定されたタイムを上回った場合に級が認定されます。例えば A 級になるには 500 M で 40.0 秒未満、かつ 1000 M で 1 分 23 秒未満であることが求められます。

スピードスケート大会 (500 M と 1000 M) で記録したタイムを入力とし、スピードスケートバッジテストで何級に相当するかを出力するプログラムを作成して下さい。500 M と1000 M のバッジテスト規定タイムは下表のとおりです。 E 級に満たなかった場合には、NA と出力してください。

500 M

1000 M

AAA 級

35 秒 50

1 分 11 秒 00

AA 級

37 秒 50

1 分 17 秒 00

A 級

40 秒 00

1 分 23 秒 00

B 級

43 秒 00

1 分 29 秒 00

C 級

50 秒 00

1 分 45 秒 00

D 級

55 秒 00

1 分 56 秒 00

E 級

1分10 秒 00

2 分 28 秒 00

Input

複数のデータセットが与えられます。各データセットとして、500 M タイムと 1000 M タイムをそれぞれ表す実数 t1, t2 (8.0 ≤ t1, t2 ≤ 360.0) が空白区切りで与えられます。t1, t2 は秒単位で小数点以下最大 2 桁までの数字を含む実数で与えられます。

データセットの数は 100 を超えません。

Output

各データセットごとに、判定結果 AAA ~ E または NA を１行に出力してください。

Sample Input

40.0 70.0
72.5 140.51

Output for the Sample Input

B
NA

Solution in C# (judge verdict: Accepted)

using System;

namespace AOJ.Volume1
{
    public class SpeedSkatingBadgeTest
    {
        public static int Main()
        {
            var time_500 = new double[7] { 35.5, 37.5, 40, 43, 50, 55, 70 };
            var time_1000 = new double[7] { 71, 77, 83, 89, 105, 116, 148 };
            var rank = new string[7] { "AAA", "AA", "A", "B", "C", "D", "E" };

            while (true)
            {
                string input = Console.ReadLine();
                if (string.IsNullOrEmpty(input)) { break; }
                var time_array = input.Split(' ');
                var t1 = double.Parse(time_array[0]);
                var t2 = double.Parse(time_array[1]);

                string rank_str = "NA";
                for (int i = 0; i < 7; i++)
                {
                    if (t1 < time_500[i] && t2 < time_1000[i])
                    {
                        rank_str = rank[i];
                        break;
                    }
                }
                Console.WriteLine(rank_str);
            }

            return 0;
        }
    }
}