Submission #80729

#TimeUsernameProblemLanguageResultExecution timeMemory
80729inomGift (IZhO18_nicegift)C++14
18 / 100
2064 ms137100 KiB
#include <bits/stdc++.h> #define fi first #define se second #define pb push_back #define sz(c) (int)(c).size() #define all(c) (c).begin(), (c).end() #define in freopen("input.txt", "r", stdin); #define out freopen("output.txt", "w", stdout); using namespace std; const int N = 2 * 1e5 + 10; const int MOD = 1e9 + 7; const int INF = 1e9; int TN = 1; int n, k; set<pair<int, int>> st; vector<vector<int>> ans; void solve() { cin >> n >> k; for (int i = 1; i <= n; i++) { int x; cin >> x; st.insert({-x, i}); } while (!st.empty()) { if (sz(st) == 1) { cout << -1 << "\n"; return; } auto a = *st.begin(); st.erase(st.begin()); auto b = *st.begin(); st.erase(st.begin()); if (a.fi != -1) { st.insert({a.fi + 1, a.se}); } if (b.fi != -1) { st.insert({b.fi + 1, b.se}); } vector<int> cur; cur.pb(1); cur.pb(a.se); cur.pb(b.se); ans.pb(cur); } cout << sz(ans) << "\n"; for (auto i: ans) { for (auto j: i) { cout << j << " "; } cout << endl; } return; } signed main() { // ios_base::sync_with_stdio(0); // in; out; // cin >> TN; while (TN--) solve(); 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...