Submission #341668

#TimeUsernameProblemLanguageResultExecution timeMemory
341668TosicGift (IZhO18_nicegift)C++14
30 / 100
741 ms72192 KiB
#include <bits/stdc++.h> #define maxn 1000010 using namespace std; int n, k; int a[maxn]; multiset<pair<int,int>> st; vector<vector<int> > allIdx; int main(){ ios_base::sync_with_stdio(0); cout.tie(0); cin.tie(0); cin >> n >> k; for(int i = 0; i < n; ++i){ cin >> a[i]; st.insert({a[i], i} ) ; } while(!st.empty()){ allIdx.push_back(vector<int>(k, 0)); auto tmp = st.end(); vector<pair<int, int> > toE; for(int i = 0; i < k; ++i){ if(tmp == st.begin()){ cout <<-1; return 0; } --tmp; toE.push_back(*tmp); allIdx.back()[i] = tmp->second+1; } for(auto i : toE){ st.erase(st.find(i)); if(i.first > 1){ st.insert({i.first-1, i.second}); } } } cout << allIdx.size() << '\n'; for(auto i : allIdx){ cout << "1 "; for(auto j:i){ cout << j << ' '; } cout << '\n'; } }
#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...