# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
343323 | Sprdalo | Gift (IZhO18_nicegift) | C++17 | 2084 ms | 8300 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
/*
Zharaskhan
stupid ver. 1
*/
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
const int MAXN = 1e6;
pair <int, int> a[MAXN];
vector< vector< int > > ans;
int main() {
int n, k;
scanf("%d%d", &n, &k);
for (int i = 0; i < n; i++) {
scanf("%d", &a[i].first);
a[i].second = i + 1;
}
bool good = true;
vector <int> res;
res.resize(k + 1);
while (true) {
sort(a , a + n, greater <pair <int, int> > ());
for (int i = 0; i < k; i++) {
if (a[i].first == 0) {
good = false;
break;
}
}
if (!good) {
break;
}
int dff = 1;
res[0] = dff;
for (int i = 0; i < k; i++) {
a[i].first -= dff;
res[i + 1] = a[i].second;
}
ans.push_back(res);
}
for (int i = 0; i < n; i++) {
if (a[i].first > 0) {
printf("-1\n");
return 0;
}
}
printf("%d\n", (int)ans.size());
for (int i = 0; i < ans.size(); i++) {
for (int j = 0; j <= k; j++) {
printf("%d ", ans[i][j]);
}
printf("\n");
}
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |