DISCO presents ディスカバリーチャンネル コードコンテスト2016 予選

Submission #7465483

Source codeソースコード

import java.io.OutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.BufferedWriter;
import java.io.Writer;
import java.io.OutputStreamWriter;
import java.util.InputMismatchException;
import java.io.IOException;
import java.io.InputStream;

/**
 * Built using CHelper plug-in
 * Actual solution is at the top
 */
public class Main {
    public static void main(String[] args) {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        InputReader in = new InputReader(inputStream);
        OutputWriter out = new OutputWriter(outputStream);
        B solver = new B();
        solver.solve(1, in, out);
        out.close();
    }

    static class B {
        public void solve(int testNumber, InputReader in, OutputWriter out) {
            int r = in.readInt();
            int n = in.readInt();
            int m = in.readInt();

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

            out.printLine(ans);
        }

        double f(int i, int n, int r) {
            if (i <= 0 || n <= i) return 0;
            double d = Math.abs(1 - 2.0 * i / n);
            return Math.sqrt(1 - d * d) * 2 * r;
        }

    }

    static class InputReader {
        private InputStream stream;
        private byte[] buf = new byte[1024];
        private int curChar;
        private int numChars;
        private InputReader.SpaceCharFilter filter;

        public InputReader(InputStream stream) {
            this.stream = stream;
        }

        public int read() {
            if (numChars == -1) {
                throw new InputMismatchException();
            }
            if (curChar >= numChars) {
                curChar = 0;
                try {
                    numChars = stream.read(buf);
                } catch (IOException e) {
                    throw new InputMismatchException();
                }
                if (numChars <= 0) {
                    return -1;
                }
            }
            return buf[curChar++];
        }

        public int readInt() {
            int c = read();
            while (isSpaceChar(c)) {
                c = read();
            }
            int sgn = 1;
            if (c == '-') {
                sgn = -1;
                c = read();
            }
            int res = 0;
            do {
                if (c < '0' || c > '9') {
                    throw new InputMismatchException();
                }
                res *= 10;
                res += c - '0';
                c = read();
            } while (!isSpaceChar(c));
            return res * sgn;
        }

        public boolean isSpaceChar(int c) {
            if (filter != null) {
                return filter.isSpaceChar(c);
            }
            return isWhitespace(c);
        }

        public static boolean isWhitespace(int c) {
            return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
        }

        public interface SpaceCharFilter {
            public boolean isSpaceChar(int ch);

        }

    }

    static class OutputWriter {
        private final PrintWriter writer;

        public OutputWriter(OutputStream outputStream) {
            writer = new PrintWriter(new BufferedWriter(new OutputStreamWriter(outputStream)));
        }

        public OutputWriter(Writer writer) {
            this.writer = new PrintWriter(writer);
        }

        public void print(Object... objects) {
            for (int i = 0; i < objects.length; i++) {
                if (i != 0) {
                    writer.print(' ');
                }
                writer.print(objects[i]);
            }
        }

        public void printLine(Object... objects) {
            print(objects);
            writer.println();
        }

        public void close() {
            writer.close();
        }

    }
}

Submission

Task問題 B - ステップカット
User nameユーザ名 amotoma3
Created time投稿日時
Language言語 Java8 (OpenJDK 1.8.0)
Status状態 AC
Score得点 200
Source lengthソースコード長 4177 Byte
File nameファイル名
Exec time実行時間 85 ms
Memory usageメモリ使用量 21460 KB

Test case

Set

Set name Score得点 / Max score Cases
Sample - 00_example_01.txt,00_example_02.txt,00_example_03.txt
All 200 / 200 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

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
00_example_01.txt AC 73 ms 19668 KB
00_example_02.txt AC 73 ms 21332 KB
00_example_03.txt AC 83 ms 17876 KB
10_rand_01.txt AC 71 ms 17620 KB
10_rand_02.txt AC 74 ms 20564 KB
10_rand_03.txt AC 79 ms 19412 KB
10_rand_04.txt AC 73 ms 17876 KB
10_rand_05.txt AC 74 ms 19540 KB
10_rand_06.txt AC 73 ms 21460 KB
10_rand_07.txt AC 77 ms 21204 KB
10_rand_08.txt AC 76 ms 21332 KB
20_hand_01.txt AC 83 ms 21332 KB
20_hand_02.txt AC 85 ms 18900 KB
20_hand_03.txt AC 83 ms 19412 KB
20_hand_04.txt AC 72 ms 18900 KB
20_hand_05.txt AC 74 ms 18644 KB