Решение задачи Коллекционирование монет с Codeforces

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


У Поликарпа есть три сестры: Алиса, Барбара и Серена. Они коллекционируют монеты. Сейчас у Алисы есть a монет, у Барбары — b монет и у Серены — c монет. Недавно Поликарп вернулся из кругосветного путешествия, во время которого приобрел n монет.

Он хочет распределить все эти n монет между сестрами так, чтобы после этого количество монет у Алисы было равным количеству монет у Барбары, а также было равным количеству монет у Серены. Другими словами, если Поликарп отдаст A монет Алисе, B монет Барбаре и C монет Серене (A+B+C=n), то a+A=b+B=c+C. Ваша задача — определить, возможно ли распределить все n монеты между сестрами способом, описанным выше.

Заметьте, что A, B или C (количество монет, которые Поликарп дает Алисе, Барбаре и Серене соответственно) могут быть равны 0.

Вам нужно ответить на t независимых наборов входных данных.

Код

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int t;
    cin >> t;
    for(int i = 0; i < t; ++i){
        int a[3], n;
        cin >> a[0] >> a[1] >> a[2] >> n;
        sort(a, a + 3);
        n-=2 * a[2] - a[1] - a[0];
        if(n < 0 || n % 3 != 0)
            cout << "NO" << endl;
        else
            cout << "YES" << endl;
    }
    return 0;
}

         

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



Комментарии

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