Submission #785791

#TimeUsernameProblemLanguageResultExecution timeMemory
785791Nanu25Karte (COCI18_karte)C++17
120 / 120
159 ms6660 KiB
#include <iostream>
#include <algorithm>
using namespace std;

const int DIM = 5 * 1e5;

int n, k;
int v[DIM + 5], a[DIM + 5];

int main() {
  cin >> n >> k;
  for(int i = 1; i <= n; i++)
    cin >> v[i];
  
  sort(v + 1, v + n + 1);

  int t = 0;
  for(int i = 1; i <= n - k; i++)
    a[++t] = v[i];      //le pun pe cele mai mici pe primele pozitii caci pot fii adevarate;

  for(int i = n; i > n - k; i--)
    a[++t] = v[i];            //pun cele mai mari k numere pe ultimele pozitii pentru ca sunt singurele care pot fii false;
  
  int fals = 0;
  for(int i = n; i >= 1; i--) 
    if(a[i] > fals)
      fals++;

  if(fals != k)
    cout << -1;
  else for(int i = 1; i <= n; i++)
    cout << a[i] << " ";

  return 0;
}
#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...