結果

問題 No.373 かけ算と割った余り
ユーザー 紙ぺーぱー
提出日時 2016-06-02 18:37:02
言語 C#
(csc 2.8.2.62916)
結果
AC  
実行時間 29 ms
コード長 809 Byte
コンパイル時間 597 ms
使用メモリ 17,640 KB
最終ジャッジ日時 2019-04-22 06:06:24

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
challenge01.txt AC 29 ms
15,600 KB
sample1.txt AC 29 ms
15,588 KB
sample2.txt AC 29 ms
13,552 KB
test1.txt AC 28 ms
11,524 KB
test2.txt AC 28 ms
15,596 KB
test3.txt AC 28 ms
15,600 KB
test4.txt AC 28 ms
17,640 KB
テストケース一括ダウンロード
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 2.8.2.62916 (2ad4aabc)
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