A few years ago Sajjad left his school and register to another one due to security reasons. Now he wishes to find Amir, one of his schoolmates and good friends.
There are n schools numerated from 1 to n. One can travel between each pair of them, to do so, he needs to buy a ticket. The ticker between schools i and j costs and can be used multiple times. Help Sajjad to find the minimum cost he needs to pay for tickets to visit all schools. He can start and finish in any school.
The first line contains a single integer n (1 ≤ n ≤ 105) — the number of schools.
Print single integer: the minimum cost of tickets needed to visit all schools.
2
0
10
4
In the first example we can buy a ticket between the schools that costs .
题目大意:有1到n个学校,你从学校a到b的花费为(a+b)mod(n+1),你要把这些学校全部走一遍,问最小花费为多少。
然后很容易发现。。。,n为奇数就是n/2,n为偶数就是n/2-1。
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin >> n;
if(n % 2 == 0)
cout << n / 2 - 1 << endl;
else
cout << n / 2 << endl;
return 0;
}