Submission #335292

# Submission time Handle Problem Language Result Execution time Memory
335292 2020-12-11T20:37:42 Z limabeans Gift (IZhO18_nicegift) C++17
30 / 100
2000 ms 232004 KB
#include <bits/stdc++.h>
using namespace std;

template<typename T>
void out(T x) { cout << x << endl; exit(0); }
#define watch(x) cout << (#x) << " is " << (x) << endl





using ll = long long;







int main() {
    ios_base::sync_with_stdio(false); cin.tie(0);  cout.tie(0);


    ll n,k;
    cin>>n>>k;
    priority_queue<pair<ll,int>> pq;
    ll sum=0;
    for (int i=1; i<=n; i++) {
	ll x;
	cin>>x;
	sum += x;
	pq.push({x,i});
    }

    if (sum%k) out(-1);

    vector<vector<ll>> w;

    while (pq.size()) {
	vector<pair<ll,int>> tmp;
	for (int i=0; i<k; i++) {
	    if (pq.empty()) out(-1);
	    tmp.push_back(pq.top());
	    pq.pop();
	}
	ll lo = (pq.empty() ? 0 : pq.top().first);
	ll gap = max(1ll,tmp.back().first-lo);


	vector<ll> inds;
	for (auto p: tmp) {
	    inds.push_back(p.second);
	    p.first -= gap;
	    if (p.first>0) {
		pq.push(p);
	    }
	}

	inds.push_back(gap);
	w.push_back(inds);
    }

    cout<<w.size()<<"\n";
    for (auto p: w) {
	ll gap = p.back();
	p.pop_back();
	cout<<gap<<" ";
	for (ll i: p) cout<<i<<" ";
	cout<<"\n";
    }
    
    
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB n=4
2 Correct 1 ms 364 KB n=3
3 Correct 1 ms 364 KB n=3
4 Correct 1 ms 364 KB n=4
5 Correct 1 ms 364 KB n=4
6 Correct 1 ms 364 KB n=2
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB n=4
2 Correct 1 ms 364 KB n=3
3 Correct 1 ms 364 KB n=3
4 Correct 1 ms 364 KB n=4
5 Correct 1 ms 364 KB n=4
6 Correct 1 ms 364 KB n=2
7 Correct 1 ms 364 KB n=5
8 Correct 1 ms 364 KB n=8
9 Correct 9 ms 1192 KB n=14
10 Correct 6 ms 748 KB n=11
11 Correct 31 ms 3560 KB n=50000
12 Correct 48 ms 4452 KB n=50000
13 Correct 26 ms 2852 KB n=10
14 Correct 34 ms 3104 KB n=685
15 Correct 36 ms 3360 KB n=623
16 Correct 20 ms 2084 KB n=973
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB n=4
2 Correct 1 ms 364 KB n=3
3 Correct 1 ms 364 KB n=3
4 Correct 1 ms 364 KB n=4
5 Correct 1 ms 364 KB n=4
6 Correct 1 ms 364 KB n=2
7 Correct 1 ms 364 KB n=5
8 Correct 1 ms 364 KB n=8
9 Correct 9 ms 1192 KB n=14
10 Correct 6 ms 748 KB n=11
11 Correct 31 ms 3560 KB n=50000
12 Correct 48 ms 4452 KB n=50000
13 Correct 26 ms 2852 KB n=10
14 Correct 34 ms 3104 KB n=685
15 Correct 36 ms 3360 KB n=623
16 Correct 20 ms 2084 KB n=973
17 Correct 32 ms 3108 KB n=989
18 Correct 14 ms 1260 KB n=563
19 Correct 21 ms 1772 KB n=592
20 Correct 23 ms 1772 KB n=938
21 Correct 18 ms 1388 KB n=747
22 Correct 20 ms 1644 KB n=991
# Verdict Execution time Memory Grader output
1 Execution timed out 2094 ms 232004 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB n=4
2 Correct 1 ms 364 KB n=3
3 Correct 1 ms 364 KB n=3
4 Correct 1 ms 364 KB n=4
5 Correct 1 ms 364 KB n=4
6 Correct 1 ms 364 KB n=2
7 Correct 1 ms 364 KB n=5
8 Correct 1 ms 364 KB n=8
9 Correct 9 ms 1192 KB n=14
10 Correct 6 ms 748 KB n=11
11 Correct 31 ms 3560 KB n=50000
12 Correct 48 ms 4452 KB n=50000
13 Correct 26 ms 2852 KB n=10
14 Correct 34 ms 3104 KB n=685
15 Correct 36 ms 3360 KB n=623
16 Correct 20 ms 2084 KB n=973
17 Correct 32 ms 3108 KB n=989
18 Correct 14 ms 1260 KB n=563
19 Correct 21 ms 1772 KB n=592
20 Correct 23 ms 1772 KB n=938
21 Correct 18 ms 1388 KB n=747
22 Correct 20 ms 1644 KB n=991
23 Execution timed out 2094 ms 232004 KB Time limit exceeded
24 Halted 0 ms 0 KB -