init commit
This commit is contained in:
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
// }
|
||||
@@ -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;
|
||||
}
|
||||
Reference in New Issue
Block a user