B
https://codeforces.com/contest/1691/problem/B
按照题意和测试用例走
#includeusing namespace std; #define x first #define y second #define rep(i,a,n) for (int i = a; i < n; i ++ ) #define repn(i,a,n) for (int i = a; i <= n; i ++ ) #define pb push_back typedef long long ll; typedef pair PII; ll gcd(ll a,ll b) { return b ? gcd(b,a % b) : a; } int main() { int t; cin >> t; while (t -- ) { int n; cin >> n; map s; int q[n + 1]; bool flag = true; vector > ans; int d = 0; for (int i = 1; i <= n; i ++ ) { cin >> q[i]; s[q[i]] ++; } for (int i = 1; i <= n; i ++ ) { if (s[q[i]] == 1) { cout << -1 << endl; flag = false; break; } } if(flag) { for (int i = 1; i <= n; ) { int k = q[i]; int cnt = s[k]; ans.push_back({i, cnt + i - 1}); i += cnt; } for (int i = 0; i < ans.size(); i ++ ) { int r = ans[i].y, l = ans[i].x; cout << r << ' '; for (int j = l; j < r; j ++ ) cout << j << ' '; } cout << endl; } } return 0; }



