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 C (GCC 9.2.1) (judge verdict: Wrong Answer)

#include<stdio.h>
int main()
{
  int bingo[3][3]={0};
  int ans[3][3]={0};
  int n=0;
  int bn=0;
  int i,j,z;
  int flag=0; //0No,1Yes
  //ビンゴカードの入力
  for(i=0;i<3;i++){
    for(j=0;j<3;j++){
      scanf("%d",&bingo[i][j]);
    }
  }
  //nの入力
  scanf("%d",&n);
  //bnの入力
  for(i=0;i<n;i++){
    scanf("%d",&bn);
    for(j=0;j<3;j++){
      for(z=0;z<3;z++){
        //bnに入力された値がビンゴカードにあったらansのカードに1をつける
        if(bingo[j][z] == bn){
        	ans[j][z]=1;
        }
      }
    }
  }
  //縦横でビンゴがそろっていればflag=1
  for(j=0;j<3;j++){
    if(ans[j][0]==1+ans[j][1]+ans[j][2]==3 || ans[0][j]+ans[1][j]+ans[2][j]==3){
      flag=1;
    }
  }
  //斜めでビンゴがそろっていればflag=1
  if(ans[0][0]+ans[1][1]+ans[2][2]==3 || ans[2][0]+ans[1][1]+ans[0][2]==3){
    flag=1;
  }
  
  //結果の出力
  if(flag==0){
    printf("No");	
  }
  else{
    printf("Yes");
  }
  return 0;
}