Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <algorithm>
- #include <iostream>
- #include <stack>
- #include <vector>
- using namespace std;
- int main() {
- int tests_count;
- cin >> tests_count;
- for (int i = 0; i < tests_count; ++i)
- {
- int nums_count;
- cin >> nums_count;
- vector< int > nums(nums_count);
- for (int& num : nums)
- {
- cin >> num;
- }
- int l = 0;
- int r = 0;
- stack<int> storage;
- while (l < nums.size()) {
- int min_idx = min_element(begin(nums) + r, end(nums)) - begin(nums);
- for (int idx = 0; idx < min_idx; ++idx)
- {
- int cur_number = nums[idx];
- if (storage.empty() || storage.top() >= cur_number)
- {
- storage.push(cur_number);
- continue;
- }
- cout << 0 << '\n';
- break;
- }
- l = min_idx + 1;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement