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 (GCC 5.4.1) (judge verdict: Wrong Answer)

#include <stdio.h>

int B[200000], C[200000];

void countingSort(int A[], int B[], int k, int n){
    int i, j;
    
    for(i = 0; i <= k; i++){
        C[i] = 0;
    }
    for(j = 1; j <= n; j++){
        C[A[j]]++;
    }
    for(i = 1; i <= k; i++){
        C[i] = C[i] + C[i - 1];
    }
    for(j = n; j >= 1; j--){
        B[C[A[j]]] = A[j];
        C[A[j]]--;
    }
    
    for(i = 1; i <= n; i++){
//        printf("%d", B[i]);
//        if(i != n) printf(" ");
    }
//    printf("\n");
    
}

int main(void){
    int n, x[200000], i, j, jj, xcopy[200000-1], k=0, l;
    
    scanf("%d", &n);
    for(i = 0; i<n; i++){
        scanf("%d", &x[i]);
        if(k < x[i]) k = x[i];
    }
    
    for(i = 0; i<n; i++){
        for(j = 0, jj = 0; j<n; j++, jj++){
            if(i == j){
                jj++;
            }
            xcopy[j] =x[jj];
        }
        countingSort(x, B, k, n);
        printf("%d\n", xcopy[n/2-1]);
    }
    return 0;
}