Untitled
unknown
c_cpp
2 years ago
1.4 kB
7
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