栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

cf 795

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

cf 795

B

https://codeforces.com/contest/1691/problem/B

按照题意和测试用例走

#include
using 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;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/942649.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号