Submission #1239909

#TimeUsernameProblemLanguageResultExecution timeMemory
1239909coderpemulaKarte (COCI18_karte)C++20
120 / 120
63 ms4948 KiB
// +-- -- --++-- +-In the name of ALLAH-+ --++-- -- --+ \\ /* Some Makoto Shinkai's : “Who cares if we can't see any sunshine? I want you more than any blue sky!!!” - Tenki no Ko "By the time the date is over, the comet will be visible in the sky." - Kimi no Nawa “No matter what happens, even if the stars fall, I will live.” - Byōsoku 5 Centimeter */ #include <bits/stdc++.h> #define Raveluk ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define ll long long #define ld long double #define pb push_back #define fi first #define se second #define pii pair<int,int> #define tii tuple<int,int,int> #define g1 get<0> #define g2 get<1> #define g3 get<2> #define qf q.front() #define all(x) (x).begin(), (x).end() using namespace std; int main() { Raveluk int n,m,i,j,idx=0,simpan,id; cin>>n>>m; int anu[n+1]; for(i=1;i<=n;i++) cin>>anu[i]; sort(anu+1,anu+n+1); // true terbanyak yang bisa didapat for(i=n;i>=1;i--){ if(anu[i] <= n-i){ idx = i; simpan = idx+1; break; } } // true paling kanan berada di idx // kita gabisa banyakin true if(n-idx > m){ cout<<-1; return 0; } //cout<<idx<<" "<<simpan<<endl; while(n-idx < m){ // banyakin false id = max(simpan,n-anu[idx]+1); bool aseli = false; while(true){ if(id > n) break; if(n-idx < anu[id]){ aseli = true; swap(anu[idx],anu[id]); break; } id++; } simpan = id+1; if(aseli) idx--; if(simpan > n) break; } if(n-idx == m){ for(i=1;i<=n;i++) cout<<anu[i]<<" "; } else cout<<-1; 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...