성적 평균

내 풀이

import java.io.*;
import java.util.*;

public class Main {
    public static final int MAX_N = 1000000;
    public static final int MAX_K = 10000;

    public static int n, k;
    public static int[] scoreArr = new int[MAX_N];
    public static int[][] areaArr = new int[MAX_K][2];

    public static void main(String[] args) throws IOException {
        init();

        for (int i = 0; i < k; i++) {
            int begin = areaArr[i][0];
            int end = areaArr[i][1];

            int sum = 0;
            for (int j = begin; j <= end; j++) {
                sum += scoreArr[j];
            }

            float average = (float) sum / (end - begin + 1);

            System.out.printf("%.2f\n", average);
        }
    }

    public static void init() throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());

        n = Integer.parseInt(st.nextToken());
        k = Integer.parseInt(st.nextToken());

        st = new StringTokenizer(br.readLine());
        for (int i = 0; i < n; i++) {
            scoreArr[i] = Integer.parseInt(st.nextToken());
        }

        for (int i = 0; i < k; i++) {
            st = new StringTokenizer(br.readLine());

            areaArr[i][0] = Integer.parseInt(st.nextToken()) - 1;
            areaArr[i][1] = Integer.parseInt(st.nextToken()) - 1;
        }
        
    }
}

제출 결과

+ Recent posts