Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<vector>
- #include<utility>
- #include<sstream>
- using namespace std;
- using Pairs = vector<pair<int, int>>;
- Pairs foo(const vector<int>& v) {
- Pairs pairs;
- int first = v[0];
- int second = v[0], k = 0;
- for (size_t i = 1; i < v.size(); ++i) {
- if (second < v[i]) {
- second = v[i];
- ++k;
- }
- else {
- if (k != 0) {
- pairs.push_back({ first, second });
- first = v[i];
- second = v[i];
- k = 0;
- }
- else {
- first = v[i];
- second = v[i];
- }
- }
- if (i == v.size() - 1) {
- if (second != 0)
- pairs.push_back({ first, second });
- }
- }
- return pairs;
- }
- ostream& operator<<(ostream& stream, const Pairs& pairs) {
- for (const auto& item : pairs) {
- stream << item.first << ' ' << item.second << endl;
- }
- return stream;
- }
- int main()
- {
- vector<int> v = { 2,1,2,4,3,2,3,5 };
- cout << foo(v);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement