Problem:
Score : 100 points

Problem Statement

Takahashi wants to print a document with N pages double-sided, where two pages of data can be printed on one sheet of paper.

At least how many sheets of paper does he need?

Constraints

N is an integer.

1 \leq N \leq 100

Input

Input is given from Standard Input in the following format:

N

Output

Print the answer.

Sample Input 1

5

Sample Output 1

3

By printing the 1-st, 2-nd pages on the 1-st sheet, 3-rd and 4-th pages on the 2-nd sheet, and 5-th page on the 3-rd sheet, we can print all the data on 3 sheets of paper.

Sample Input 2

2

Sample Output 2

1

Sample Input 3

100

Sample Output 3

50

Solution in Java8 (OpenJDK 1.8.0) (judge verdict: Runtime Error)

import java.util.Scanner;

public class Main {
	public static void main(String[]args) {
		try(Scanner scan = new Scanner(System.in)){
			
			 int N = scan.nextInt();
			 int M = scan.nextInt();
			 int dame = 0;
			 
			 int[] s = new int[M];
			 int[] c = new int[M];
			 
			 for(int i = 0;i<M;i++) {
				 s[i] = scan.nextInt();
			     c[i] = scan.nextInt();
			 }
			 
			 int[] ketasuu = new int[N];
			 for(int i = 0;i<N;i++) {
				 ketasuu[i] = -1;//何も入っていない証明
			 }
			 
			 
			 
			 for(int i = 0;i<M;i++) {
				 if(ketasuu[s[i]-1]==-1){//桁に何も履いていなかったら入れる
					 ketasuu[s[i]-1]=c[i];
				 }
				 if(ketasuu[s[i]-1]!=-1&&ketasuu[s[i]-1]!=c[i]){//数字が入っているのに指定されてる数字が違う
					 dame = 1;
					 break;
				 }
			 }
			 
			 StringBuffer sb = new StringBuffer();
			 
			 for(int i = 0;i<N;i++) {
				 if(ketasuu[i] == -1) {
					 ketasuu[i]=0;
				 }
				 sb.append(String.valueOf(ketasuu[i])); 
			 }
			 if(M==0) {
				 System.out.println(0);
			 }else if(ketasuu[0]==0) {
				 System.out.println(-1);
			 }else if(dame ==1){
				 System.out.println(-1);
			 }else {
				 System.out.println(sb.toString());
			 }
			
			
			
			
			
			
			
			
			
		}	
	}
}