Submission #341658

#TimeUsernameProblemLanguageResultExecution timeMemory
341658TosicGift (IZhO18_nicegift)C++14
0 / 100
2082 ms211548 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));
		for(int i = 0; i < k; ++i){
			if(st.empty()){
				cout << -1;
				return 0;
			}
			int lrg = (*--st.end()).first,j = (*--st.end()).second;
			st.erase(st.find({lrg, j} ) );
			--lrg;
			allIdx[allIdx.size()-1][i] = j+1;
			if(lrg){
				st.insert({lrg, j});
			}
		}
	}
	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...