Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdlib>
- #include <vector>
- using namespace std;
- int n, a[3030];
- int t[6060];
- void add(int i, int v) {
- if (t[i] == -1) {
- t[i] = v;
- return;
- }
- if (v < t[i])
- add(i*2, v);
- else
- add(i*2+1, v);
- }
- void dfs(int i) {
- if (t[i] == -1)
- return;
- dfs(i*2+1);
- dfs(i*2);
- printf("%i", t[i]);
- }
- int main()
- {
- scanf("%i", &n);
- for (int i = 0; i < n; i++)
- scanf("%i", &a[i]);
- for (int i = 0; i < 20*n; i++) // araoptimaluria
- t[i] = -1;
- for (int i = n-1; i >= 0; i--)
- add(1, a[i]);
- dfs(1);
- system("PAUSE");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment