Submission #1256442

#TimeUsernameProblemLanguageResultExecution timeMemory
1256442ilhan_ardaKarte (COCI18_karte)C++20
120 / 120
125 ms6900 KiB
#include <bits/stdc++.h> #define fast ios_base::sync_with_stdio(NULL);cin.tie(NULL);cout.tie(NULL); #define fi first #define se second #define pb push_back #define endl "\n" //~ #define int long long using namespace std; typedef long long ll; typedef pair<int, int> ii; int n, k; int a[500005]; vector<int> ans, bg, v; int32_t main(){ cin>>n>>k; for(int i=1;i<=n;i++){ cin>>a[i]; } sort(a+1, a+n+1); int t = 0; for(int i=1;i<=n;i++){ if(a[i] > k){ t++; bg.pb(i); } } if(t > k){ cout<<-1<<endl; return 0; } int cur = 0, ind = n+5; for(int i=1;i<=n;i++){ if(cur+t == k || a[i] > k){ ind = i; break; } if(cur>=a[i]){ v.pb(i); continue; } ans.pb(i); cur++; } if(cur+t < k){ cout<<-1<<endl; return 0; } for(int i=ind;i<=n;i++){ if(a[i] > k)break; v.pb(i); } reverse(ans.begin(), ans.end()); for(auto it: v)cout<<a[it]<<" "; for(auto it: bg)cout<<a[it]<<" "; for(auto it: ans)cout<<a[it]<<" "; cout<<endl; }
#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...