답안 #900683

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
900683 2024-01-08T21:37:05 Z n3rm1n Karte (COCI18_karte) C++17
120 / 120
85 ms 9928 KB
#include<bits/stdc++.h>
#define endl '\n'
#pragma GCC optimize("Ofast")
using namespace std;
const int MAXN = 5e5 + 10;
void speed()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
}
int n, k, a[MAXN];

void read()
{
    cin >> n >> k;
    int cnt0 = 0;
    for (int i = 1; i <= n; ++ i)
    {
        cin >> a[i];
        if(!a[i])cnt0 ++;
    }
    sort(a+1, a+n+1);
    if(k == 0)
    {
        if(cnt0 != n)cout << -1 << endl;
        else
        {
            for (int i = 1; i <= n; ++ i)
                cout << a[i] << " ";
            cout << endl;
        }
        exit(0);
    }
    int cnt_false = 0;
    vector < int > g;
    for(int i = n - k + 1; i <= n; ++ i)
    {
        g.push_back(a[i]);
        if(a[i] > cnt_false)cnt_false ++;
    }
    for (int i = 1; i <= n - k; ++ i)
    {
        g.push_back(a[i]);
        if(a[i] > cnt_false)
        {
            cnt_false ++;

        }
    }

    //cout << cnt_false << endl;
    if(cnt_false == k)
    {
        for (int i = g.size()-1; i >= 0; -- i)
            cout << g[i] << " ";
        cout << endl;
    }
    else cout << -1 << endl;
}
int main()
{
    speed();

    read();
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 18 ms 2268 KB Output is correct
2 Correct 14 ms 2016 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 36 ms 4304 KB Output is correct
2 Correct 24 ms 3548 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 85 ms 9928 KB Output is correct
2 Correct 66 ms 7544 KB Output is correct