Untitled

 avatar
unknown
c_cpp
a year ago
1.4 kB
5
Indexable
//ЮФУ, ИКТИБ, МОП ЭВМ
//Структуры и алгоритмы обработки данных
//Домашнее задание 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());
    int count = 0;
    cout << endl;
    for (int i = 0; i < n; i++)
    {
        count = 0;
        int x = data[i];
        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!= sortdata.end() && *it == b)
                {
                    if (a != b || (a == b && count > 0))
                    {
                        count++;
                    }
                }
            }
        }
       if (count>0) part[i] = count;
    }
    for (auto it = part.begin(); it!=part.end(); it++)
    {
        cout << *it << endl;
    }
    return 0;
}

Editor is loading...
Leave a Comment