Submission #639746

#TimeUsernameProblemLanguageResultExecution timeMemory
639746PietraKarte (COCI18_karte)C++14
0 / 120
175 ms6840 KiB
#include<bits/stdc++.h>
using namespace std ;
// o ideal eh começar decrescente
// o ideal eh o começo ter os certos
// se quiser mudar

const int maxn = 1e5 + 5 ;

int n, k, v[maxn], ct[maxn], used[maxn], seq[maxn] ;

// pga o menorr q satisfaz smp pros verdadeiros
// pros falos coloca os maiores mais a esq
int main(){

    cin >> n >> k ;

    vector<int> vec, vv ;

    for(int i = 0 ; i < n ; i++){
        int a ; cin >> a ;
        vec.push_back(a) ;
    }

    sort(vec.begin(), vec.end()) ;

    for(int i = n ; i >= n - k ; i--) v[i] = vec[i-1] ;

    for(int i = 1 ; i < n-k ; i++) vv.push_back(vec[i-1]) ;

    sort(vv.begin(), vv.end()) ;
    reverse(vv.begin(), vv.end()) ;

    for(int i = 1 ; i < n-k ; i++) v[i] = vv[i-1] ;

    bool ans = 1 ;

    int ctr = 0 ;

    for(int i = n ; i > 0 ; i--){
        if(v[i] >= ctr) continue ;
        else ctr++ ;
    }

    if(ctr != k){
        cout << "-1\n" ; exit(0) ;
    }

    for(int i = 1 ; i <= n ; i++) cout << v[i] << " " ;

}

Compilation message (stderr)

karte.cpp: In function 'int main()':
karte.cpp:35:10: warning: unused variable 'ans' [-Wunused-variable]
   35 |     bool ans = 1 ;
      |          ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...