제출 #1107879

#제출 시각아이디문제언어결과실행 시간메모리
1107879MuhammetGift (IZhO18_nicegift)C++17
0 / 100
2043 ms119084 KiB
#include <bits/stdc++.h>

using namespace std;

#define sz(s) (int)s.size()
#define ff first
#define ss second

int main(){
	ios::sync_with_stdio(false); cin.tie(nullptr);
	int n, k;
	cin >> n >> k;
	vector <int> a(n);
	multiset <pair<int,int>> s;
	for(int i = 0; i < n; i++){
		cin >> a[i];
		s.insert({a[i],i});
	}
	vector <pair<int,int>> v;
	while(sz(s) > 1){
		pair <int,int> x = *(--s.end());
		s.erase(--s.end());
		pair <int,int> y = *(--s.end());
		s.erase(--s.end());
		x.ff--;
		y.ff--;
		if(x.ff != 0) s.insert(x);
		if(y.ff != 0) s.insert(y);
		v.push_back({x.ss,y.ss});
	}
	if(sz(s) == 1){
		cout << -1;
		return 0;
	}
	cout << sz(v) << "\n";
	for(auto i : v){
		cout << 1 << ' ' << i.ff << ' ' << i.ss << '\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...