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 |
// #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; }