Решение задачи "Задача о подмножестве чётной суммы" с Codeforces

Без пояснения   Просмотров: 17


Дан массив a, состоящий из n положительных целых чисел. Найдите непустое подмножество его элементов с чётной (т.е. делящейся на 2) суммой или определите, что такого подмножества нет.

И заданный массив и искомое подмножетсво могут содержать равные значения элементов.

Код

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int t, n;
    cin >> t;
    for(int i = 0; i < t; ++i){
        cin >> n;
        vector<int> a(n);
        int res = -1;
        for(int j = 0; j < n; ++j){
            cin >> a[j];
            if(a[j] % 2 == 0)
                res = j;
        }
        if(res >= 0){
            cout << 1 << endl << res + 1 << endl;
            continue;
        }
        else{
            bool b = true;
            for(int j = 0; j < a.size() - 1; ++j)
                if((a[j] + a[j + 1]) % 2 == 0){
                        cout << 2 << endl  << j + 1 << " " << j + 2 << endl;
                        b = false;
                        break;
                }
            if(b)
                cout << -1 << endl;
        }
    }
    return 0;
}

         

 Администратор Photo Автор: Администратор


Отправить решение задачи
Чтобы отправить решение вам нужно войти в систему или зарегистрироваться

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться