Разбить на массивы С++

278
16 марта 2017, 23:05

Всем привет ,есть очень интересная задача.Я её решил,но проходит 52.17% процентов.Помогите мне найти мою ошибку и довести задачу до 100%.

Вот задача : Рассмотрим множество целых чисел от 1 до 3n. Необходимо распределить эти числа в три массива a, b и c длиной n так, чтобы для любого i от 1 до n выполнялось следующее: ai + bi = ci

Формат входных данных

Единственная строка содержит целое число n (1 ≤ n ≤ 23).

Формат выходных данных

Если решения не существует, то в первой строке выведите единственное число -1. В ином случае, выведите 3 строки, в каждой по n целых чисел, разделенных пробелами. В первой строке должны находиться элементы массива a, во второй – элементы массива b, в третьей – массива c. Каждое число от 1 до 3n должно быть выведено ровно один раз.

Пример входных данных
1
Пример выходных данных
1
2
3

Мой код :

long long n, a[MAXN], b[MAXN], c[MAXN], s, i;
int main()
{
    cin >> n;
    s = 3 * n * (3 * n + 1) / 4;
    if (3 * n * (3 * n + 1) % 4 != 0)
        cout << -1 << endl;
    else
    {
        for (i = 1; i <= n; i++)
        {
            if (i + (i + 1) == s) a[i] = i;
            b[i] = i + 1;
            c[i] = s;
        }
        for (i = 1; i <= n; i++)
        {
            cout << a[i] << endl;
            cout << b[i] << endl;
            cout << c[i] << endl;
        }
    }
READ ALSO
Работа с сокетами в win 10

Работа с сокетами в win 10

Работал с сокетами в C,код идентичен коду с msdn сервер клиент

204
Определение видимости отрезка

Определение видимости отрезка

дано N отрезков на плоскости с началом координат в (0, 0) соответственно, расположение которых может быть абсолютно любым

319
Граф. Написать класс на С++ [требует правки]

Граф. Написать класс на С++ [требует правки]

Написать на C++ класс, описывающий граф/орграфКласс должен поддерживать следующую функциональность:

719
Win Api (LONG в C++ (long или int))

Win Api (LONG в C++ (long или int))

Нам дали изучать win api (хотя хз зачем он вообще в текущих реалиях нужен)

225