#pragma GCC optimize ("Ofast")
#include<bits/stdc++.h>
using namespace std;
template < class S, class T> inline S chmax( S & a, T b) {
if ( a< b) {
a= b;
}
return a;
}
#define main dummy_main
int main( ) {
return 0 ;
}
#undef main
class Solution{
public :
vector< int > replaceElements( vector< int > & arr) {
int i;
int mx = - 1 ;
int t;
for ( i= ( arr.size ( ) ) - 1 ; i>= ( 0 ) ; i-- ) {
t = arr[ i] ;
arr[ i] = mx;
chmax( mx, t) ;
}
return arr;
}
}
;
// cLay varsion 20200217-1
// --- original code ---
// #define main dummy_main
// {}
// #undef main
//
// class Solution {
// public:
// vector<int> replaceElements(vector<int>& arr) {
// int mx = -1, t;
// rrep(i,arr.size()){
// t = arr[i];
// arr[i] = mx;
// mx >?= t;
// }
// return arr;
// }
// };
I3ByYWdtYSBHQ0Mgb3B0aW1pemUgKCJPZmFzdCIpCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnRlbXBsYXRlPGNsYXNzIFMsIGNsYXNzIFQ+IGlubGluZSBTIGNobWF4KFMgJmEsIFQgYil7CiAgaWYoYTxiKXsKICAgIGE9YjsKICB9CiAgcmV0dXJuIGE7Cn0KI2RlZmluZSBtYWluIGR1bW15X21haW4KaW50IG1haW4oKXsKICByZXR1cm4gMDsKfQojdW5kZWYgbWFpbgpjbGFzcyBTb2x1dGlvbnsKICBwdWJsaWM6CiAgdmVjdG9yPGludD4gcmVwbGFjZUVsZW1lbnRzKHZlY3RvcjxpbnQ+JiBhcnIpewogICAgaW50IGk7CiAgICBpbnQgbXggPSAtMTsKICAgIGludCB0OwogICAgZm9yKGk9KGFyci5zaXplKCkpLTE7aT49KDApO2ktLSl7CiAgICAgIHQgPSBhcnJbaV07CiAgICAgIGFycltpXSA9IG14OwogICAgICBjaG1heChteCwgdCk7CiAgICB9CiAgICByZXR1cm4gYXJyOwogIH0KfQo7Ci8vIGNMYXkgdmFyc2lvbiAyMDIwMDIxNy0xCgovLyAtLS0gb3JpZ2luYWwgY29kZSAtLS0KLy8gI2RlZmluZSBtYWluIGR1bW15X21haW4KLy8ge30KLy8gI3VuZGVmIG1haW4KLy8gCi8vIGNsYXNzIFNvbHV0aW9uIHsKLy8gcHVibGljOgovLyAgIHZlY3RvcjxpbnQ+IHJlcGxhY2VFbGVtZW50cyh2ZWN0b3I8aW50PiYgYXJyKSB7Ci8vICAgICBpbnQgbXggPSAtMSwgdDsKLy8gICAgIHJyZXAoaSxhcnIuc2l6ZSgpKXsKLy8gICAgICAgdCA9IGFycltpXTsKLy8gICAgICAgYXJyW2ldID0gbXg7Ci8vICAgICAgIG14ID4/PSB0OwovLyAgICAgfQovLyAgICAgcmV0dXJuIGFycjsKLy8gICB9Ci8vIH07Cg==