#include #include #include #include #include constexpr size_t length = 1048576; int main() { std::vector vector1, vector2; std::set set1, set2; FILE *file = fopen("normal_distribution.txt", "r"); for (long long i; fscanf(file, "%lld ", &i) != EOF; vector1.push_back(i), set1.insert(i)) ; fclose(file); assert(vector1.size() == set1.size()); assert(vector1.size() == length); auto it = vector1.begin(); for (int i = 1; i <= 1000; i++) { auto element = *it; auto ret = set2.insert(element); if (ret.second) { vector2.push_back(element); // printf("%lld\n", element); } it++; } assert(vector2.size() == 1000); auto it2 = set2.begin(); int cnt = 0; for (long long it1 : set1) { while (it1 > *it2 && it2 != set2.end()) it2++, cnt++; // printf("%d ", cnt); } it2 = set1.begin(); cnt = 0; for (long long it1 : set2) { while (it1 > *it2 && it2 != set1.end()) it2++, cnt++; printf("%d ", cnt); } puts(""); return 0; }