Ограничения: время – 250ms/500ms, память – 128MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Определить функцию, которая перемещает элементы меньше v из списка s в less, равные в eq, большие в great
```c++
void split(list<int> &s, int v, list<int>& less, list<int>& eq, list<int>& great)
```
---
АТД Список
конструктор (пустой список) // std::list<int> s;
длина списка // int len=s.size();
получение итератора на первый элемент (конец списка) // auto it=s.begin(), e=s.end();
вставить перед итератором // auto ne=s.insert(it,3); возвращается итератор на доб. элемент
удалить элемент по итератору // s.erase(ne); возвращается итератор на след. элемент
Вспомогательные методы:
s.splice(it, other); позволяет переместить все элементы из списка other в s
s.splice(it, other, other_it ); позволяет переместить один элемент из списка other в s
---
АТД Итератор списка
Следующий (предыдущий) // ++it; --it;
Конец списка // it==s.end();
Значение элемента // *it