init commit

This commit is contained in:
2025-04-13 21:48:15 +03:00
commit 23255e9121
192 changed files with 12200 additions and 0 deletions
+15
View File
@@ -0,0 +1,15 @@
#include <vector>
#include <cstdint>
void process(const std::vector<uint64_t>& from, std::vector<uint64_t>& into, int step) {
auto iterf = from.begin();
auto itert = into.rbegin();
while (iterf < from.end() && itert != into.rend()) {
*itert += *iterf;
++itert;
iterf += step;
}
return;
}
+35
View File
@@ -0,0 +1,35 @@
#include <vector>
#include <cstdint>
void process(std::vector<int64_t>& mas, int64_t limit) {
auto itert = mas.end();
int dst = 0;
for (auto it = mas.begin() + mas.size() - 1; it != mas.begin() - 1; --it) {
dst = it - mas.begin();
if (*it >= limit) {
mas.insert(itert, *it);
itert = mas.end();
}
it = mas.begin() + dst;
}
return;
}
// #include <iostream>
// int main() {
// std::vector<int64_t> mas = { 1, 4, 3, 2 };
// int64_t limit = 3;
// process(mas, limit);
// for (const auto& val : mas) {
// std::cout << val << " ";
// }
// return 0;
// }
+22
View File
@@ -0,0 +1,22 @@
#include <vector>
#include <set>
#include <algorithm>
#include <cstdint>
void process(const std::vector<int>& mas1, std::vector<int>& mas2) {
std::set<int> set1(mas1.begin(), mas1.end());
if (set1.empty() || mas2.empty()) {
return;
}
for (auto it = mas2.end() - 1; it != mas2.begin() - 1; --it) {
int dst = it - mas2.begin();
if (std::find(set1.begin(), set1.end(), dst) != set1.end()) {
mas2.erase(it);
}
}
return;
}