Решение задачи "IQ тест" с Codeforces

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


Вася готовится проходить IQ тест. В этом тесте часто встречаются задания, в которых нужно найти лишнее из n чисел. Вася заметил, что это лишнее число обычно отличается от остальных по четности. Помогите Васе — для проверки своих ответов, ему требуется программа, которая среди заданных n чисел находит отличающееся по четности.

Код

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n, nech = 0, ch = 0, temp;
    cin >> n;
    vector<int> a;
    for(int i = 0; i < n; ++i){
        cin >> temp;
        a.push_back(temp);
    }
    for(int i = 0; i < a.size(); ++i){
        if(a[i] % 2)
            ++nech;
        else
            ++ch;
        if(nech > 1 || ch > 1)
            break;
    }
    if(nech > 1){
        for(int i = 0; i < a.size(); ++i)
            if(a[i] % 2 == 0){
                cout << i + 1;
                return 0;
            }
        }
    else{
         for(int i = 0; i < a.size(); ++i)
            if(a[i] % 2){
                cout << i + 1;
                return 0;
            }
    }

    return 0;
}

         

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


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

Комментарии

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