pastebin

Paste Search Dynamic
Recent pastes
f rb
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. struct P{int h, p;};
  5.  
  6. int main() {
  7.         ios_base::sync_with_stdio(false);
  8.         int n, i, j, x; cin >> n;
  9.         P f[n];
  10.         int rb = 0;
  11.         cout << "0 "; cin >> f[0].h; f[0].p = 1;
  12.         for(i = 1; i < n; i++)
  13.         {
  14.                 cin >> x;
  15.                 if(x <= f[0].h) {cout << "0 "; rb = 0; f[rb].h = x; f[rb].p = i+1;}
  16.                 else if(x > f[rb].h) {cout << f[rb++].p << " "; f[rb].h = x; f[rb].p = i+1;}
  17.                 else if(x == f[rb].h) {cout << f[rb-1].p << " "; f[rb].h = x; f[rb].p = i+1;}
  18.                 else
  19.                 {
  20.                         while(1)
  21.                         {
  22.                                 if(x <= f[rb].h) rb--;
  23.                                 else break;
  24.                         }
  25.                         cout << f[rb++].p << " ";
  26.                         f[rb].h = x; f[rb].p = i+1;
  27.                 }
  28.         }
  29.         return 0;
  30. }
Parsed in 0.022 seconds