当前位置: 代码迷 >> 综合 >> CF1611C Polycarp Recovers the Permutation
  详细解决方案

CF1611C Polycarp Recovers the Permutation

热度:136   发布时间:2023-10-14 00:14:03.0

原题链接

题意

CF1611C Polycarp Recovers the Permutation

思路

可以发现,如果最大值不在数组边上就是-1;
else: 倒着输出数组即可,因为每次选最小值,反过来就可以了。

代码

#include<bits/stdc++.h> 
using namespace std;
const int N = 200005;
int a[N];int main()
{
    int t; cin >> t;while (t -- ){
    int n;cin >> n;int maxn = 0;int f = 0;for (int i = 1; i <= n; i ++ ){
    cin >> a[i];if (a[i] > maxn){
    maxn = a[i];f = i;}}if (f != 1 && f != n){
    cout << "-1" << endl;continue;}else{
    for (int i = n; i >= 1; i -- ) cout << a[i] << " ";cout << endl;}}return 0;
}
  相关解决方案