Problem:
目盛りのないストップウォッチ

　

図のようなストップウォッチがあります。このストップウォッチには０を示す目印が一つあるだけで、目盛りがありません。起動した瞬間、針は目印を指し、そこから針は軸を中心に一定の割合で時計回りに回転します。目盛りがないので、起動からの経過時間を直接読み取ることはできません。その代わり、針が目印から時計回りに$a$度回ったときの経過時間が$t$秒であることがわかっています。ただし、$a$は360度未満とします。

角度$a$と経過時間$t$が与えられたとき、ストップウォッチ起動後に読み取った針の角度rが表す経過時間を求めるプログラムを作成せよ。ただし、針が１周していないことはわかっているものとする。

入力

入力は以下の形式で与えられる。

$a$ $t$ $r$

１行に角度$a$ ($1 \leq a \leq 359$)と角度$a$のときの経過時間$t$ ($1 \leq t \leq 1,000$)、読み取った角度$r$ ($0 \leq r \leq 359$)がすべて整数で与えられる。ただし、$a$と$r$の単位は度、$t$の単位は秒とする。

出力

読み取った針の角度が表す経過時間を秒で１行に実数で出力する。ただし、誤差がプラスマイナス0.001を超えてはならない。

入出力例

入力例１

180 120 90

出力例１

60.0

入力例２

90 100 120

出力例２

133.333333

Solution in C# (judge verdict: Accepted)

using System;
using System.Collections.Generic;
using System.IO.Compression;
using System.Linq;
using System.Numerics;
using System.Text;
using static System.Console;
using static System.Math;

namespace AtCoder
{
    class Program
    {
        static void Main(string[] args)
        {
            var atr = ReadDoubles();
            var a = atr[0];
            var t = atr[1];
            var r = atr[2];

            WriteLine(r / (a / t));
        }
        private static string Read() { return ReadLine(); }
        private static string[] Reads() { return (Read().Split()); }
        private static int ReadInt() { return int.Parse(Read()); }
        private static long ReadLong() { return long.Parse(Read()); }
        private static double ReadDouble() { return double.Parse(Read()); }
        private static int[] ReadInts() { return Array.ConvertAll(Read().Split(), int.Parse); }
        private static long[] ReadLongs() { return Array.ConvertAll(Read().Split(), long.Parse); }
        private static double[] ReadDoubles() { return Array.ConvertAll(Read().Split(), double.Parse); }
    }
}