Submission #1254640

#TimeUsernameProblemLanguageResultExecution timeMemory
1254640Mer123haba456Karte (COCI18_karte)C++20
120 / 120
72 ms14628 KiB
#include <bits/stdc++.h> using namespace std; #define fast_io ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); #define N lli(7e5) #define MOD lli(1e9 + 7) #define heps(v) v.begin(), v.end() typedef long long int lli; typedef vector<lli> vlli; typedef pair<lli, lli> plli; typedef vector<plli> vplli; typedef pair<lli, plli> pplli; typedef vector<pplli> vpplli; lli n,m,k,q,t; vlli vect; lli ilksir[N]; lli sildiz[N]; int main() { fast_io cin >> n >> m; lli basbir = 0; vlli cev; for(lli i = 0;i<n;i++){ cin >> k; if(k > 0) vect.push_back(k); else{ cev.push_back(0); basbir++; } } sort(heps(vect)); queue<lli> Q; lli susay = 0; lli subir = 0; for(lli say : vect){ if(susay >= say){ subir++; }else susay++; } lli ind = -1; for(lli i = 0;i<vect.size();i++){ if(subir >= sildiz[i]){ basbir += sildiz[i]; subir -= sildiz[i]; }else{ basbir += sildiz[i]; subir = 0; } if(i + vect[i] < vect.size()) sildiz[i + vect[i]]++; cev.push_back(vect[i]); //cout << i << " " << vect[i] << " " << basbir << " " << subir << endl; if(basbir + subir == n - m){ ind = i; break; } } if(ind == -1){ cout << "-1" << endl; }else{ for(lli i = vect.size()-1;i>ind;i--) cout << vect[i] << " "; for(lli i = 0;i<cev.size();i++) cout << cev[i] << " "; 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...