Description
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.
Input
The first line contains a single integer n (1 ≤ n ≤ 105) — the number of schools.
Output
Print single integer: the minimum cost of tickets needed to visit all schools.
Sample Input
2 10
Sample Output
0 4
Note
In the first example we can buy a ticket between the schools that costs .
思路
题解:因为从学校 i 到学校 j 花费为 ,因此尽量使1与n搭配,2与n - 1搭配,那么接下来要解决的就是联通这些搭配。从样例我们可以写出如下:
1 2 3 4 5
10 9 8 7 6
那么我们就可以从10到2,9到3,8到4...每次花费为1。按照这种策略可使最后结果最小。
#include<bits/stdc++.h> using namespace std; int main() { int n; scanf("%d",&n); if (n % 2 == 0) { printf("%d\n",n/2-1); } else printf("%d\n",n/2); return 0; }