Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- using namespace std;
- vector<int> obtain_peaks(const vector<int>& v) {
- int tam_v = v.size();
- int tam_sol;
- if (tam_v%2 == 0) tam_sol = tam_v/2 - 1;
- else tam_sol = tam_v/2;
- vector<int> u(tam_sol, 0);
- int k = 0;
- for (int i = 1; i < tam_v-1; ++i) {
- if (v[i] > v[i-1] && v[i] > v[i+1]) {
- u[k] = v[i];
- ++k;
- }
- }
- return u;
- }
- int main() {
- int n;
- cin >> n;
- vector<int> v(n);
- for (int i = 0; i < n; ++i) {
- cin >> v[i];
- }
- int count = 0;
- for (int i = 0; obtain_peaks(v)[i] != 0; ++i) {
- ++count;
- }
- int cim_max;
- cout << count << ":";
- for (int i = 0; obtain_peaks(v)[i] != 0; ++i) {
- cout << " " << obtain_peaks(v)[i];
- cim_max = obtain_peaks(v)[i];
- }
- cout << endl;
- bool higher = false;
- bool primer = true;
- for (int i = 0; obtain_peaks(v)[i] != 0; ++i) {
- if (obtain_peaks(v)[i] > cim_max) {
- if (primer) primer = false;
- else cout << " ";
- cout << obtain_peaks(v)[i];
- higher = true;
- }
- }
- if (not higher) cout << "-" << endl;
- else cout << endl;
- }
- // (c) Carlos Sansón (Best pro1 delegate ever for sure) @csansoon
Add Comment
Please, Sign In to add comment