Problem:
Score : 100 points

Problem Statement

There are a total of A + B cats and dogs.
Among them, A are known to be cats, but the remaining B are not known to be either cats or dogs.

Determine if it is possible that there are exactly X cats among these A + B animals.

Constraints

1 \leq A \leq 100

1 \leq B \leq 100

1 \leq X \leq 200

All values in input are integers.

Input

Input is given from Standard Input in the following format:

A B X

Output

If it is possible that there are exactly X cats, print YES; if it is impossible, print NO.

Sample Input 1

3 5 4

Sample Output 1

YES

If there are one cat and four dogs among the B = 5 animals, there are X = 4 cats in total.

Sample Input 2

2 2 6

Sample Output 2

NO

Even if all of the B = 2 animals are cats, there are less than X = 6 cats in total.

Sample Input 3

5 3 2

Sample Output 3

NO

Even if all of the B = 3 animals are dogs, there are more than X = 2 cats in total.

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

#include <iostream>
#include <string>
using namespace std;
int N;
long long X[2000000];
long long TEMP[2000000];
long long TEMP2[2000000];
long long medi(long long x[], int M) {
	long long temp;
	long long a;
	for (int i = 0; i < M - 1; i++) {
		for (int j = i + 1; j < M; j++) {
			if (x[i] > x[j]) {
				temp = x[i];
				x[i] = x[j];
				x[j] = temp;
			}
		}
	}
	a = x[((M + 1) / 2) - 1];
	return a;
}

int main() {
	int num, median;
	cin >> N;
	for (int i = 0; i < N; i++) {
		cin >> X[i];
	}
	for (int i = 0; i < N; i++) {
		num = 0;
		for (int j = 0; j < N; j++) {
			if (j == i) {
				continue;
			}
			else {
				TEMP2[num] = X[j];
				num++;
			}
		}
		median = medi(TEMP2, num);
		cout << median << endl;
	}
	return 0;
}