Submission #907734

#TimeUsernameProblemLanguageResultExecution timeMemory
907734daoquanglinh2007Gift (IZhO18_nicegift)C++17
30 / 100
21 ms7124 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define pii pair <int, int> #define fi first #define se second #define mp make_pair #define isz(a) (int)(a).size() const int NM = 1e5; int N, K, a[NM+5]; priority_queue <pii> Q; vector <pii> v; signed main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> N >> K; for (int i = 1; i <= N; i++){ cin >> a[i]; Q.push(mp(a[i], i)); } while (!Q.empty()){ if (isz(Q) < K){ cout << -1; return 0; } for (int i = 1; i <= K; i++){ pii P = Q.top(); v.push_back(P); Q.pop(); } for (int i = isz(v)-1; i >= isz(v)-K; i--){ pii P = v[i]; P.fi--; if (P.fi > 0) Q.push(P); } } cout << isz(v)/K << '\n'; while (!v.empty()){ cout << 1 << ' '; for (int i = 1; i <= K; i++){ cout << v.back().se << ' '; v.pop_back(); } cout << '\n'; } 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...