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;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            StringBuilder sb = new StringBuilder();

            string[] ranks = new string[] { "AAA", "AA", "A", "B", "C", "D", "E", "NA" };

            string input;

            while (!string.IsNullOrEmpty(input = Console.ReadLine()))
            {
                double[] time = Array.ConvertAll(input.Split(' '), double.Parse);

                int res = Math.Max(CheckRank1(time[0]), CheckRank2(time[1]));

                sb.AppendLine(ranks[res]);
            }
            Console.Write(sb);
        }

        static int CheckRank1(double time)
        {
            if (time < 35.50) return 0;
            if (time < 37.50) return 1;
            if (time < 40.00) return 2;
            if (time < 43.00) return 3;
            if (time < 50.00) return 4;
            if (time < 55.00) return 5;
            if (time < 70.00) return 6;
            return 7;
        }

        static int CheckRank2(double time)
        {
            if (time < 71.00) return 0;
            if (time < 77.00) return 1;
            if (time < 83.00) return 2;
            if (time < 89.00) return 3;
            if (time < 105.00) return 4;
            if (time < 116.00) return 5;
            if (time < 148.00) return 6;
            return 7;
        }
    }
}