Aizu Online ジャッジというサイトのこの問題(http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=ITP1_4_D)
を解いています。

以下のコードを提出するとRuntime errorになってしまうのですが、どこが間違っているか教えてください。

標準入力を2行ともBufferedReaderで取得すれば成功するのですが、1行目をScanner、2行目をBufferedReaderで取得するとRuntime errorになります。
Scannerが何かいけないような気はするのですが、どういう問題が発生しているのかよくわかりません。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;

public class test{


    public static void main(String[] args){

        Scanner scan = new Scanner(System.in);
        BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));

        try{
            int n=scan.nextInt();
            String s=reader.readLine();
            String[] str =s.split(" ");
            int array_num[]= new int[n];
            long max, min, sum;
            sum=0;
            max=-1000000;
            min=1000000;

            for(int i=0;i<n;i++){
                array_num[i]=Integer.parseInt(str[i]);
                sum+=array_num[i];

                if(array_num[i]>max)max=array_num[i];
                if(array_num[i]<min)min=array_num[i];
            }

            System.out.println(min+" "+max+" "+sum);



            scan.close();
            reader.close();
        }catch(IOException e){
            System.out.println("エラー:"+e);

        }

    }

}