Untitled
unknown
c_cpp
2 years ago
1.6 kB
9
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());
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;
}
Editor is loading...
Leave a Comment