Untitled

mail@pastecode.io avatar
unknown
c_cpp
7 months ago
1.6 kB
4
Indexable
Never
//ЮФУ, ИКТИБ, МОП ЭВМ
//Структуры и алгоритмы обработки данных
//Домашнее задание 2.2 -  Структуры данных. Сортировка и поиск
//КТбо1-6, Домбрина Алёна Игоревна
// Задача D
// 04.03.2024
#include<algorithm>
#include <iostream>
#include<vector>
using namespace std;

int main()
{
    int n;
    cin >> n;
    vector<int> data(n);
    for (int i = 0; i < n; i++)
    {
        cin >> data[i];
    }
    vector<int> part(n, 0);
    vector<int> sortdata(data.begin(), data.end());
    sort(sortdata.begin(), sortdata.end());
    cout << endl;
    for (int i = 0; i < n; i++)
    {
        int x = data[i];
        int count = 0;
        for (int j = 0; j < n; j++)
        {
            int a = sortdata[j];
            int b = x - a;
            if(a > b) 
            {
                auto it = lower_bound(sortdata.begin(), sortdata.end(), b);
                if (*it == b)
                {
                    count++;
                }
            }
            else if (a == b)
            {
                auto it = lower_bound(sortdata.begin(), sortdata.end(), b);
                if (*it == b && it-sortdata.begin()!=j)
                {
                    count++;
                }
            }
        }
        if(count>0) part[i] = count;
    }
    for (auto it = part.begin(); it != part.end(); it++)
    {
        cout << *it << endl;
    }
    return 0;
}

Leave a Comment