Submission #967630


Source Code Expand

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.*;

public class Main {

    static BufferedReader in;
    static PrintWriter out;
    static StringTokenizer tok;

    double r;
    int n, m;

    void solve() throws IOException {
        r = nd();
        n = ni();
        m = ni();

        double ans = 0;

        for (int i = 1; i <= n + m - 1; i++) {
            ans += Math.max(d(i), d(i - m));
        }

        out.println(ans);
    }

    double d(double x) {
        if (x <= 0 || x >= n) return 0;
        double y = r - Math.min(x, n - x) / n * 2 * r;
        return Math.sqrt(r * r - y * y) * 2;
    }

    String ns() throws IOException {
        while (!tok.hasMoreTokens()) {
            tok = new StringTokenizer(in.readLine(), " ");
        }
        return tok.nextToken();
    }

    int ni() throws IOException {
        return Integer.parseInt(ns());
    }

    long nl() throws IOException {
        return Long.parseLong(ns());
    }

    double nd() throws IOException {
        return Double.parseDouble(ns());
    }

    String[] nsa(int n) throws IOException {
        String[] res = new String[n];
        for (int i = 0; i < n; i++) {
            res[i] = ns();
        }
        return res;
    }

    int[] nia(int n) throws IOException {
        int[] res = new int[n];
        for (int i = 0; i < n; i++) {
            res[i] = ni();
        }
        return res;
    }

    long[] nla(int n) throws IOException {
        long[] res = new long[n];
        for (int i = 0; i < n; i++) {
            res[i] = nl();
        }
        return res;
    }

    public static void main(String[] args) throws IOException {
        in = new BufferedReader(new InputStreamReader(System.in));
        out = new PrintWriter(System.out);
        tok = new StringTokenizer("");
        Main main = new Main();
        main.solve();
        out.close();
    }
}

Submission Info

Submission Time
Task B - ステップカット
User CrazyBBB
Language Java8 (OpenJDK 1.8.0)
Score 200
Code Size 2058 Byte
Status AC
Exec Time 114 ms
Memory 8656 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 200 / 200
Status
AC × 3
AC × 16
Set Name Test Cases
Sample 00_example_01.txt, 00_example_02.txt, 00_example_03.txt
All 00_example_01.txt, 00_example_02.txt, 00_example_03.txt, 10_rand_01.txt, 10_rand_02.txt, 10_rand_03.txt, 10_rand_04.txt, 10_rand_05.txt, 10_rand_06.txt, 10_rand_07.txt, 10_rand_08.txt, 20_hand_01.txt, 20_hand_02.txt, 20_hand_03.txt, 20_hand_04.txt, 20_hand_05.txt
Case Name Status Exec Time Memory
00_example_01.txt AC 104 ms 8396 KB
00_example_02.txt AC 96 ms 8272 KB
00_example_03.txt AC 111 ms 8528 KB
10_rand_01.txt AC 98 ms 8148 KB
10_rand_02.txt AC 96 ms 8264 KB
10_rand_03.txt AC 106 ms 8396 KB
10_rand_04.txt AC 97 ms 8272 KB
10_rand_05.txt AC 98 ms 8400 KB
10_rand_06.txt AC 99 ms 8400 KB
10_rand_07.txt AC 101 ms 8400 KB
10_rand_08.txt AC 100 ms 8400 KB
20_hand_01.txt AC 110 ms 8524 KB
20_hand_02.txt AC 114 ms 8656 KB
20_hand_03.txt AC 110 ms 8528 KB
20_hand_04.txt AC 96 ms 8272 KB
20_hand_05.txt AC 96 ms 8400 KB