Submission

Status:
-PPPPP-PP-

Score: 70

User: kaka

Problemset: Maximum Adjacent

Language: cpp

Time: 0.002 second

Submitted On: 2025-03-25 08:49:48

#include <bits/stdc++.h>
using namespace std;
bool mx(int a, int b, int c){
    int res = max(a,b);
    res = max(res,c);
    if(res == b){
        return true;
    }
    return false;
}
int main()
{
    string s;
    getline(cin, s);
    for(auto c : s){
        if(isalpha(c)){
            c = ' ';
        }
    }
    stringstream iss(s);
    int temp;
    vector<int> nums;
    while(iss >> temp){
        nums.push_back(temp);
    }
    if(nums.size()% 3 == 1){
        vector<int> pro;
        pro.push_back(0);
        pro.insert(pro.end(), nums.begin(), nums.end());
        pro.push_back(0);
        for(int i = 1; i < pro.size(); i++){
            if(mx(pro[i - 1], pro[i], pro[i + 1])){
                cout << pro[i] << ' ';
            }
        }
        return 0;
    }
    else if(nums.size()% 3 == 2){
        nums.push_back(0);
    }
    for(int i = 1; i < nums.size(); i++){
        if(mx(nums[i - 1], nums[i], nums[i + 1])){
            cout << nums[i] << ' ';
        }
    }
}