#704 B#include <iostream>#include <cstring>#include <algorithm>#include<stdio.h>using namespace std;int n, p[100010], pos[100010];bool used[100010], numused[100010];int main(){ int t; scanf("%d",&t); while(t--) { int n; scanf("%d", &n); for (int i = 1; i <= n; i++) { scanf("%d", p + i); pos[p[i]] = i; } memset(used, 0, sizeof(used)); memset(numused, 0, sizeof(numused)); int cur = n; used[n + 1] = true; while (cur >= 1) { if (numused[cur]) { cur--; continue; } for (int i = pos[cur]; !used[i]; i++) { if (p[i] == cur) { for (int j = i; !used[j]; j++) { used[j] = true; numused[p[j]] = true; printf("%d ", p[j]); } } } cur--; } } return 0;}