For this Question: YunQian is standing on an infinite plane with the Cartesian coordinate system on it. In one move, she can move to the diagonally adjacent point on the top right or the adjacent point on the left. That is, if she is standing on point (x, y), she can either move to point (x+1, y+1) or point (x−1, y). YunQian initially stands at point (a, b) and wants to move to point (c, d). Find the minimum number of moves she needs to make or declare that it is impossible.The input consists of 4 space- separated integers a, b, c and d. 

<b>Constraints</b>
−10<sup>8</sup> &le; a, b, c, d &le; 10<sup>8</sup>if it is possible to move from point (a, b) to point (c, d), output the minimum number of moves. Otherwise, output −1.<b>Sample Input 1</b>
-1 0 -1 2
<b>Sample Output 1</b>
4

<b>Sample Input 2</b>
0 0 4 5
<b>Sample Output 2</b>
6, I have written this Solution Code: #include <bits/stdc++.h>
using namespace std;
#define int long long

void solveCase()
{
    int a, b, c, d;
    cin >> a >> b >> c >> d;

    if (b > d)
    {
        cout << "-1\n";
        return;
    }

    int moves = d - b;
    a += moves;

    if (a < c)
    {
        cout << "-1\n";
        return;
    }

    moves += a - c;

    cout << moves << '\n';
}

int32_t main()
{
    mt19937 rng((unsigned int)chrono::steady_clock::now().time_since_epoch().count());
    if (rng() % 100000 == 0)
        assert(false);

    ios::sync_with_stdio(false), cin.tie(NULL);
    int t = 1;
 //   cin >> t;
    while (t--)
        solveCase();
}, In this Programming Language: C++, Now tell me if this Code is compilable or not?