█████████ ████ ███░░░░░███ ░░███ ███ ░░░ ██████ ███████ ██████ ██████ ░███ ███░░███ ███░░███ ███░░███ ███░░███ ░███ ░███ ░███░███ ░███ ░███████ ░███ ░███ ░░███ ███░███ ░███░███ ░███ ░███░░░ ░███ ░███ ░░█████████ ░░██████ ░░████████░░██████ ░░██████ ░░░░░░░░░ ░░░░░░ ░░░░░░░░ ░░░░░░ ░░░░░░

Envío 4101

Problema 0xcf - Mirando al horizonte

  • Autor: pipelin1010
  • Fecha: 2021-05-14 15:24:34 UTC (Hace casi 3 años)
Caso # Resultado Tiempo Memoria
#1
Correcto
0.004 s 2 KBi
#2
Correcto
0.005 s 7 KBi
#3
Correcto
0.004 s 1 KBi
#4
Correcto
0.005 s 2 KBi
#5
Correcto
0.002 s 2 KBi
#6
Correcto
0.187 s 9 KBi
#7
Correcto
0.189 s 6 KBi
#8
Correcto
0.145 s 6 KBi
#9
Correcto
0.109 s 7 KBi
#10
Correcto
0.191 s 9 KBi
Puntos totales: 100 / 100

Código

//
#include <bits/stdc++.h>
using namespace std;
#define INF 1000000000
#define MOD 1000000007
#define PI 3.14159265
#define EPS 1e-9
#define Pi acos(-1.0)
typedef pair<int, int> ii;
typedef long long ll;
typedef vector<ll> vll;
typedef pair<ll,ll> pll;
#define forr(i,a,b) for(int i=(a); i<(b); i++)
#define clean(arr,val) memset(arr,val,sizeof(arr))
#define forn(i,n) forr(i,0,n)
#define PB push_back
typedef vector<int> vi;
typedef vector<ii> vii;
typedef vector<pll> vpll;

/*CODE START HERE*/

int tc, n, c = 1;
vi ans, arr;

int main(){
    ios::sync_with_stdio(0);
    cin >> tc;
    while(tc--){
        cin >> n;
        arr.assign(n,0);
        ans.clear();
        forn(i,n){
            cin >> arr[i];

        }

        stack<int> m;
        for(int i = n-1; i >= 0; i--){
            while(!m.empty() && arr[i] >= m.top()){
                m.pop();
            }
            
            if(m.empty()){
                ans.push_back(-1);
            }else{
                ans.push_back(m.top());
            }
            m.push(arr[i]);
        }
        reverse(ans.begin(),ans.end());
        cout << "Case #" << c++ << ":";
        forn(i,n){
            cout << " " << ans[i];
        }
        cout << "\n";
    }
    return 0;
}