結果

問題 No.373 かけ算と割った余り
ユーザー 紙ぺーぱー
提出日時 2016-06-02 18:37:02
言語 C#
(csc 2.7.0.62620)
結果
AC  
実行時間 37 ms
コード長 809 Byte
コンパイル時間 694 ms
使用メモリ 17,460 KB
最終ジャッジ日時 2018-09-26 08:23:14

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
challenge01.txt AC 37 ms
15,412 KB
sample1.txt AC 35 ms
15,404 KB
sample2.txt AC 36 ms
17,460 KB
test1.txt AC 35 ms
13,372 KB
test2.txt AC 35 ms
15,420 KB
test3.txt AC 36 ms
15,420 KB
test4.txt AC 37 ms
15,412 KB
テストケース一括ダウンロード
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 2.7.0.62620 (e873e693)
Copyright (C) Microsoft Corporation. All rights reserved.

ソースコード

diff #
using System;
using System.Collections.Generic;
using System.Linq;

class prog
{
  static void Main()
  {
    var a=Console.ReadLine().Split().Select(long.Parse).ToArray().ValidateArray(x=>1<=x&&x<=1000000000);
    a.Validate(x=>x.Length==4);
    Console.ReadLine().Validate(x=>x==null);
    var v=a[0];
    v*=a[1];
    v%=a[3];
    v*=a[2];
    v%=a[3];
    Console.WriteLine(v);
  }
}

static public class Validator
{
    static public T Validate<T>(this T input, Func<T, bool> f)
    {
        if (!f(input))
            throw new Exception("invalid input");
        return input;
    }
    static public T[] ValidateArray<T>(this T[] input, Func<T, bool> f)
    {
        foreach (var x in input)
            if (!f(x))
                throw new Exception("invalid input");
        return input;
    }
}
0