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++14 (GCC 5.4.1) (judge verdict: Runtime Error)

#include<bits/stdc++.h>

using namespace std;

int main()
{
    int n,m,f=0;
    vector <int> s;
    cin>>n>>m;
    vector< pair<int,int> > v;
    for(int i=0;i<m;i++){
        int x,y;
        cin>>x>>y;
        v.push_back(make_pair(x,y));
    }
    for(int i=0;i<m-1;i++){
        if(v[i].first==v[i+1].first){
            f=1;
        }
    }
    sort(v.begin(),v.end());
    for(int i=0;i<n;i++){
        if(i==0&&v[i].first==1){
            if(v[i].second==0){
                f=1;
            }
            else{
                s.push_back(v[i].second);
            }
        }
        else if(i==0){
            s.push_back(1);
        }
        else if(v[i].first==i+1){
            s.push_back(v[i].second);
        }
        else{
            s.push_back(0);
        }
    }
    if(f==1){
        cout<<"-1"<<endl;
    }
    else{
        for(int i=0;i<n;i++){
            cout<<s[i];
        }
    }
    cout<<endl;
    return 0;

}