Problem:
Score : 100 points

Problem Statement

There are three houses on a number line: House 1, 2 and 3, with coordinates A, B and C, respectively.
Print Yes if we pass the coordinate of House 3 on the straight way from House 1 to House 2 without making a detour, and print No otherwise.

Constraints

0\leq A,B,C\leq 100

A, B and C are distinct integers.

Input

Input is given from Standard Input in the following format:

A B C

Output

Print Yes if we pass the coordinate of House 3 on the straight way from House 1 to House 2 without making a detour, and print No otherwise.

Sample Input 1

3 8 5

Sample Output 1

Yes

We pass the coordinate 5 on the straight way from the house at coordinate 3 to the house at coordinate 8.

Sample Input 2

7 3 1

Sample Output 2

No

Sample Input 3

10 2 4

Sample Output 3

Yes

Sample Input 4

31 41 59

Sample Output 4

No

Solution in C++14 (GCC 5.4.1) (judge verdict: Wrong Answer)

#include <iostream>
#include <vector>
using namespace std;

char toggleNow(char s) { return s == '#' ? '.' : '#'; }

int main() {
  long long n;
  string s;

  cin >> n >> s;
  vector<int> v;

  char now = '#';
  int cnt = 0;
  for (int i = 0; i < n; i++) {
    if (now == s[i]) {
      cnt++;
    } else {
      v.push_back(cnt);
      now = toggleNow(now);
      cnt = 1;
    }
  }
  if (cnt != 0) {
    v.push_back(cnt);
  }
  if (v.size() % 2 != 0) {
    v.push_back(0);
  }

  // for (int i = 0; i < v.size(); i++) {
  //   cout << "--" << v[i] << "--" << endl;
  // }

  int ansW = 0;
  for (int i = 1; i < v.size(); i += 2) {
    if (v[0] == 0 && i == 1) {
      continue;
    }
    ansW += v[i];
  }

  int ansB = 0;
  for (int i = 0; i < v.size(); i += 2) {
    if (v[i + 1] == 0) {
      continue;
    }
    ansB += v[i];
  }

  int ans = min(ansW, ansB);
  cout << ans << endl;
  return 0;
}