Submission #1017425


Source Code Expand

// package atcoder.other2016.codefestival2016.round2;

import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.InputMismatchException;

public class Main {
    public static void main(String[] args) {
        InputReader in = new InputReader(System.in);
        PrintWriter out = new PrintWriter(System.out);

        int x = in.nextInt();
        int p = in.nextInt();
        if (p == 100) {
            out.println((x + 1) / 2);
        } else {
            double rate = p / 100.0;
            if (x % 2 == 0) {
                out.println(String.format("%.9f", solve(rate, x)));
            } else {
                out.println(String.format("%.9f", 1 + rate * solve(rate, x-1) + (1.0 - rate) * solve(rate, x+1)));
            }
        }
        out.flush();
    }

    private static double solve(double rate, int x) {
        return (1.0d / rate) * (x / 2);
    }

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

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

        private int[] nextInts(int n) {
            int[] ret = new int[n];
            for (int i = 0; i < n; i++) {
                ret[i] = nextInt();
            }
            return ret;
        }

        private int[][] nextIntTable(int n, int m) {
            int[][] ret = new int[n][m];
            for (int i = 0; i < n; i++) {
                for (int j = 0; j < m; j++) {
                    ret[i][j] = nextInt();
                }
            }
            return ret;
        }

        private long[] nextLongs(int n) {
            long[] ret = new long[n];
            for (int i = 0; i < n; i++) {
                ret[i] = nextLong();
            }
            return ret;
        }

        private long[][] nextLongTable(int n, int m) {
            long[][] ret = new long[n][m];
            for (int i = 0; i < n; i++) {
                for (int j = 0; j < m; j++) {
                    ret[i][j] = nextLong();
                }
            }
            return ret;
        }

        private double[] nextDoubles(int n) {
            double[] ret = new double[n];
            for (int i = 0; i < n; i++) {
                ret[i] = nextDouble();
            }
            return ret;
        }

        private int next() {
            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 char nextChar() {
            int c = next();
            while (isSpaceChar(c))
                c = next();
            if ('a' <= c && c <= 'z') {
                return (char) c;
            }
            if ('A' <= c && c <= 'Z') {
                return (char) c;
            }
            throw new InputMismatchException();
        }

        public String nextToken() {
            int c = next();
            while (isSpaceChar(c))
                c = next();
            StringBuilder res = new StringBuilder();
            do {
                res.append((char) c);
                c = next();
            } while (!isSpaceChar(c));
            return res.toString();
        }

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

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

        public double nextDouble() {
            return Double.valueOf(nextToken());
        }

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

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

    static void debug(Object... o) {
        System.err.println(Arrays.deepToString(o));
    }
}

Submission Info

Submission Time
Task A - Takahashi is Missing!
User hamadu
Language Java8 (OpenJDK 1.8.0)
Score 700
Code Size 5337 Byte
Status AC
Exec Time 110 ms
Memory 8532 KB

Judge Result

Set Name Sample Dataset1 Dataset2 Dataset3
Score / Max Score 0 / 0 200 / 200 300 / 300 200 / 200
Status
AC × 3
AC × 7
AC × 10
AC × 23
Set Name Test Cases
Sample subtask_01_ex1.txt, subtask_03_ex2.txt, subtask_04_ex3.txt
Dataset1 subtask_01_02.txt, subtask_01_03.txt, subtask_01_04.txt, subtask_01_ex1.txt, subtask_02_01.txt, subtask_02_02.txt, subtask_02_03.txt
Dataset2 subtask_01_02.txt, subtask_01_03.txt, subtask_01_04.txt, subtask_01_ex1.txt, subtask_03_01.txt, subtask_03_02.txt, subtask_03_03.txt, subtask_03_04.txt, subtask_03_05.txt, subtask_03_ex2.txt
Dataset3 subtask_01_02.txt, subtask_01_03.txt, subtask_01_04.txt, subtask_01_ex1.txt, subtask_02_01.txt, subtask_02_02.txt, subtask_02_03.txt, subtask_03_01.txt, subtask_03_02.txt, subtask_03_03.txt, subtask_03_04.txt, subtask_03_05.txt, subtask_03_ex2.txt, subtask_04_01.txt, subtask_04_02.txt, subtask_04_03.txt, subtask_04_04.txt, subtask_04_05.txt, subtask_04_06.txt, subtask_04_07.txt, subtask_04_08.txt, subtask_04_09.txt, subtask_04_ex3.txt
Case Name Status Exec Time Memory
subtask_01_02.txt AC 100 ms 8140 KB
subtask_01_03.txt AC 101 ms 8020 KB
subtask_01_04.txt AC 100 ms 8144 KB
subtask_01_ex1.txt AC 105 ms 8144 KB
subtask_02_01.txt AC 100 ms 8148 KB
subtask_02_02.txt AC 102 ms 8016 KB
subtask_02_03.txt AC 101 ms 8148 KB
subtask_03_01.txt AC 109 ms 8532 KB
subtask_03_02.txt AC 108 ms 8400 KB
subtask_03_03.txt AC 107 ms 8532 KB
subtask_03_04.txt AC 109 ms 8532 KB
subtask_03_05.txt AC 109 ms 8528 KB
subtask_03_ex2.txt AC 110 ms 8396 KB
subtask_04_01.txt AC 109 ms 8404 KB
subtask_04_02.txt AC 107 ms 8404 KB
subtask_04_03.txt AC 108 ms 8400 KB
subtask_04_04.txt AC 108 ms 8400 KB
subtask_04_05.txt AC 109 ms 8528 KB
subtask_04_06.txt AC 109 ms 8396 KB
subtask_04_07.txt AC 109 ms 8400 KB
subtask_04_08.txt AC 107 ms 8404 KB
subtask_04_09.txt AC 107 ms 8404 KB
subtask_04_ex3.txt AC 109 ms 8400 KB