Submission

Status:
PPPPPP-PP-

Score: 80

User: MiyaZaki1072

Problemset: Maximum Adjacent

Language: cpp

Time: 0.003 second

Submitted On: 2025-03-16 13:53:21

#include <bits/stdc++.h>
using namespace std;
vector<double>vec;
double calc(string x){
    double ret = 0;
    int cnt=0,dec=0;
    bool neg=false;
    for(auto &r:x){
        if(r=='-')neg=true;
        else if(r=='.')dec=cnt-1-neg;
        else {
            ret*=10;
            ret+=(r-'0');
        }
        cnt++;
    }
    if(neg)return -ret/(pow(10,dec));
    else return ret/(pow(10,dec));
}
int main(){
    cin.tie(0)->sync_with_stdio(0);
    while(1){
        string x;cin>>x;
        if(x.size() == 1 && !isdigit(x[0]))break;
        vec.push_back(calc(x));
    }
    vector<double>ans;
    for(int i=0;i<vec.size();i++){
        bool ch=true;
        if(i>0 && vec[i-1] > vec[i])ch=false;
        if(i<vec.size()-1 && vec[i+1] > vec[i])ch=false;
        if(ch)ans.push_back(vec[i]);
    }
    for(auto &x:ans)cout<<fixed<<setprecision(0)<<x<<" ";
}