AtCoder Beginner Contest 008

Submission #3989543

Source codeソースコード

import java.io.IOException;
import java.util.NoSuchElementException;

import java.io.InputStream;

import java.io.PrintWriter;

import java.math.BigDecimal;
import java.math.RoundingMode;

import java.util.Arrays;
import java.util.ArrayList;

@SuppressWarnings("unchecked")
public class Main {
    static final int scale = 12;

    // 約数カウント
    static int dcount(ArrayList<Integer> ary, int x) {
        int res = 0;

        for (Integer i : ary) if (x % i == 0) res++;

        return res;
    }

    public static void main(String[] args) throws IOException {
        PrintWriter out = new PrintWriter(System.out);

        final int N = nextInt();

        ArrayList<Integer> al = new ArrayList<>();

        for (int i = 0; i < N; i++) al.add(nextInt());

        BigDecimal bd = BigDecimal.ZERO;

        for (Integer a : al) {
            final int cnt = dcount(al, a);

            if (cnt % 2 == 0) {
                // 約数 自身含めて 偶数(x)
                // 1 / 2
                bd = bd.add(BigDecimal.valueOf(0.5));
            } else {
                // 約数 自身含めて 奇数(x)
                // (x + 1) / 2 * x
                bd = bd.add(BigDecimal.valueOf(cnt + 1)
                        .divide(
                                BigDecimal.valueOf(2)
                                .multiply(BigDecimal.valueOf(cnt))
                                , scale
                                , RoundingMode.DOWN));
            }
        }

        out.println(bd.setScale(scale, RoundingMode.DOWN));

        out.flush();
    }

    // FastScanner start
    static final InputStream in = System.in;
    static final byte[] buffer = new byte[1024];
    static int ptr = 0;
    static int buflen = 0;
    static boolean hasNextByte() {
        if (ptr < buflen) {
            return true;
        } else {
            ptr = 0;
            try {
                buflen = in.read(buffer);
            } catch (IOException e) {
                e.printStackTrace();
            }
            if (buflen <= 0) {
                return false;
            }
        }
        return true;
    }
    static int readByte() {
        if (hasNextByte()) return buffer[ptr++];
        else return -1;
    }
    static boolean isPrintableChar(int c) {
        return 33 <= c && c <= 126;
    }
    static boolean hasNext() {
        while (hasNextByte() && !isPrintableChar(buffer[ptr])) ptr++;
        return hasNextByte();
    }
    static String next() {
        if (!hasNext()) throw new NoSuchElementException();
        StringBuilder sb = new StringBuilder();
        int b = readByte();
        while (isPrintableChar(b)) {
            sb.appendCodePoint(b);
            b = readByte();
        }
        return sb.toString();
    }
    static long nextLong() {
        if (!hasNext()) throw new NoSuchElementException();
        long n = 0;
        boolean minus = false;
        int b = readByte();
        if (b == '-') {
            minus = true;
            b = readByte();
        }
        if (b < '0' || '9' < b) {
            throw new NumberFormatException();
        }
        while (true) {
            if ('0' <= b && b <= '9') {
                n *= 10;
                n += b - '0';
            } else if(b == -1 || !isPrintableChar(b)) {
                return minus ? -n : n;
            } else {
                throw new NumberFormatException();
            }
            b = readByte();
        }
    }
    static int nextInt() {
        long nl = nextLong();
        if (nl < Integer.MIN_VALUE || nl > Integer.MAX_VALUE)
            throw new NumberFormatException();
        return (int) nl;
    }
    static double nextDouble() {
        return Double.parseDouble(next());
    }
    // FastScanner end
}

Submission

Task問題 C - コイン
User nameユーザ名 ShinjiSHIBATA
Created time投稿日時
Language言語 Java8 (OpenJDK 1.8.0)
Status状態 AC
Score得点 100
Source lengthソースコード長 3909 Byte
File nameファイル名
Exec time実行時間 82 ms
Memory usageメモリ使用量 23252 KB

Test case

Set

Set name Score得点 / Max score Cases
Sample - sample_01.txt,sample_02.txt,sample_03.txt
Subtask1 99 / 99 subtask1_01.txt,subtask1_02.txt,subtask1_03.txt,subtask1_04.txt,subtask1_05.txt,subtask1_06.txt,subtask1_07.txt,subtask1_08.txt,subtask1_09.txt,subtask1_10.txt,subtask1_11.txt,subtask1_12.txt,subtask1_13.txt,subtask1_14.txt,subtask1_15.txt,subtask1_16.txt,subtask1_17.txt,subtask1_18.txt,subtask1_19.txt,subtask1_20.txt
Subtask2 1 / 1 subtask1_01.txt,subtask1_02.txt,subtask1_03.txt,subtask1_04.txt,subtask1_05.txt,subtask1_06.txt,subtask1_07.txt,subtask1_08.txt,subtask1_09.txt,subtask1_10.txt,subtask1_11.txt,subtask1_12.txt,subtask1_13.txt,subtask1_14.txt,subtask1_15.txt,subtask1_16.txt,subtask1_17.txt,subtask1_18.txt,subtask1_19.txt,subtask1_20.txt,subtask2_01.txt,subtask2_02.txt,subtask2_03.txt,subtask2_04.txt,subtask2_05.txt,subtask2_06.txt,subtask2_07.txt,subtask2_08.txt,subtask2_09.txt,subtask2_10.txt,subtask2_11.txt,subtask2_12.txt,subtask2_13.txt,subtask2_14.txt,subtask2_15.txt,subtask2_16.txt,subtask2_17.txt,subtask2_18.txt,subtask2_19.txt,subtask2_20.txt

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
sample_01.txt AC 82 ms 20948 KB
sample_02.txt AC 75 ms 19028 KB
sample_03.txt AC 74 ms 19668 KB
subtask1_01.txt AC 72 ms 22228 KB
subtask1_02.txt AC 73 ms 19796 KB
subtask1_03.txt AC 72 ms 19796 KB
subtask1_04.txt AC 74 ms 21332 KB
subtask1_05.txt AC 75 ms 18772 KB
subtask1_06.txt AC 72 ms 19796 KB
subtask1_07.txt AC 73 ms 21076 KB
subtask1_08.txt AC 74 ms 20564 KB
subtask1_09.txt AC 73 ms 21716 KB
subtask1_10.txt AC 75 ms 20692 KB
subtask1_11.txt AC 75 ms 20564 KB
subtask1_12.txt AC 73 ms 20820 KB
subtask1_13.txt AC 75 ms 20820 KB
subtask1_14.txt AC 71 ms 17876 KB
subtask1_15.txt AC 75 ms 21332 KB
subtask1_16.txt AC 71 ms 19412 KB
subtask1_17.txt AC 73 ms 23252 KB
subtask1_18.txt AC 73 ms 20564 KB
subtask1_19.txt AC 74 ms 20692 KB
subtask1_20.txt AC 72 ms 17748 KB
subtask2_01.txt AC 76 ms 18260 KB
subtask2_02.txt AC 72 ms 17236 KB
subtask2_03.txt AC 73 ms 20692 KB
subtask2_04.txt AC 74 ms 20180 KB
subtask2_05.txt AC 78 ms 20692 KB
subtask2_06.txt AC 77 ms 19796 KB
subtask2_07.txt AC 73 ms 20692 KB
subtask2_08.txt AC 76 ms 19924 KB
subtask2_09.txt AC 77 ms 18644 KB
subtask2_10.txt AC 75 ms 19540 KB
subtask2_11.txt AC 77 ms 19668 KB
subtask2_12.txt AC 76 ms 17744 KB
subtask2_13.txt AC 74 ms 20820 KB
subtask2_14.txt AC 78 ms 19536 KB
subtask2_15.txt AC 77 ms 19028 KB
subtask2_16.txt AC 75 ms 19796 KB
subtask2_17.txt AC 77 ms 19668 KB
subtask2_18.txt AC 73 ms 20820 KB
subtask2_19.txt AC 75 ms 20820 KB
subtask2_20.txt AC 76 ms 22100 KB