Problem:
得点

問題

JOI高校の2人の生徒 A さんと B さんは，情報，数学，理科，英語の4教科の試験を受けた． A さんと B さんのこれら4教科の得点が与えられると， Aさんの合計点 S と Bさんの合計点 T のうち大きな方を出力するプログラムを作成せよ．ただし，同点の場合は S (= T) を出力せよ．

入力

入力は2行からなる．

1行目は4つの整数が1つの空白を区切りとして書かれており，それぞれ順に， A さんの情報の得点，数学の得点，理科の得点，英語の得点を表している．

2行目は4つの整数が1つの空白を区切りとして書かれており，それぞれ順に， B さんの情報の得点，数学の得点，理科の得点，英語の得点を表している．

どの教科の得点も100点満点で，負の得点が与えられることはない．

出力

出力は, 求める1つの整数からなる.

入出力例

入力例1

100 80 70 60
80 70 80 90

出力例1

320

入力例2

100 80 70 60
80 70 60 100

出力例2

310

上記問題文と自動審判に使われるデータは、情報オリンピック日本委員会が作成し公開している問題文と採点用テストデータです。

Solution in C# (judge verdict: Accepted)

using System;
using System.Collections.Generic;
using System.Data.SqlTypes;
using System.IO.Pipes;
using System.Linq;

class Program
{ 
	public static int Main()
	{
		Scanner cin = new Scanner();
		int[] a = new int[4];
		int[] b = new int[4];
		for (int i = 0; i < 4; i++)
		{
			a[i] = cin.nextInt();
		}
		for (int i = 0; i < 4; i++)
		{
			b[i] = cin.nextInt();
		}
		Console.WriteLine(Math.Max(a.Sum(x => x), b.Sum(x => x)));
		return 0;
	}

}

class Scanner {
	string[] s;
	int i;

	char[] cs = new char[] { ' ' };

	public Scanner() {
		s = new string[0];
		i = 0;
	}

	public string next() {
		if (i < s.Length) return s[i++];
		do {
			s = Console.ReadLine().Split(cs, StringSplitOptions.RemoveEmptyEntries);
		} while ((s.Length == 1 && s[0] == "") || s.Length == 0);
		i = 0;
		return s[i++];
	}

	public int nextInt() {
		return int.Parse(next());
	}

	public long nextLong() {
		return long.Parse(next());
	}

	public double nextDouble() {
		return double.Parse(next());
	}

}