Submission #200188

#TimeUsernameProblemLanguageResultExecution timeMemory
200188SaboonKarte (COCI18_karte)C++14
120 / 120
134 ms7148 KiB
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

const int maxn = 5e5 + 37;

int a[maxn];

int main(){
	ios_base::sync_with_stdio(false);
	int n, k;
	cin >> n >> k;
	for (int i = 1; i <= n; i++)
		cin >> a[i];
	sort(a + 1, a + n + 1);
	vector<int> A, B;
	int now = 0;
	for (int i = 1; i <= n; i++){
		if (a[i] > now){
			now = min(k, now + 1);
			A.push_back(a[i]);
			continue;
		}
		B.push_back(a[i]);
	}
	if (A.size() < k)
		return cout << -1 << endl, 0;
	reverse(A.begin(), A.end());
	while (A.size() > k){
		int x = A.back();
		if (x > k)
			return cout << -1 << endl, 0;
		B.push_back(A.back());
		A.pop_back();
	}
	for (auto it : B)
		cout << it << " ";
	for (auto it : A)
		cout << it << " ";
	cout << endl;
}

Compilation message (stderr)

karte.cpp: In function 'int main()':
karte.cpp:26:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  if (A.size() < k)
      ~~~~~~~~~^~~
karte.cpp:29:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  while (A.size() > k){
         ~~~~~~~~~^~~
#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...