Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <utility>
- using namespace std;
- vector<int> doIt(vector<int> &a, int l, int r) {
- int temp = a[r];
- for (int i = r; i > l; i--) {
- a[i] = a[i - 1];
- }
- a[l] = temp;
- return a;
- }
- int main() {
- ios_base::sync_with_stdio(false);
- cin.tie(NULL);
- int n;
- cin >> n;
- while (n--) {
- int s, l, r;
- int counter = 0;
- cin >> s;
- vector<int> a(s + 1);
- vector<pair<int, int>> b;
- for (int i = 1; i <= s; i++) cin >> a[i];
- for (int i = 1; i <= s; i++) {
- l = i;
- bool ok = false;
- int min = l;
- for (int j = i; j <= s; j++) {
- if (a[j] < a[min]) {
- min = j;
- ok = true;
- }
- }
- if (!ok) continue;
- counter++;
- r = min;
- pair<int, int> x;
- x.first = l;
- x.second = r;
- b.push_back(x);
- a = doIt(a, l, r);
- }
- cout << counter << "\n";
- for (int i = 0; i < b.size(); i++) {
- cout << b[i].first << " " << b[i].second << " " << b[i].second - b[i].first << "\n";
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement