제출 #1029775

#제출 시각아이디문제언어결과실행 시간메모리
1029775UnforgettableplCookies (JOI23_cookies)C++17
7 / 100
2 ms1112 KiB
#include <bits/stdc++.h>
using namespace std;
 
#define int long long

const int INF = 1e12;

int32_t main(){
	ios_base::sync_with_stdio(false);
	cin.tie(nullptr);
	int n;
	cin >> n;
	vector<pair<int,int>> arr(n);
	int tot = 0;
	for(int i=0;i<n;i++){cin>>arr[i].first;tot+=arr[i].first;arr[i].second=i+1;}
	vector<int> limits(tot+1,INF);
	sort(arr.rbegin(),arr.rend());
	auto carr = arr;
	vector<int> cookies = {-1};
	for(auto&[a,b]:arr){
		while(a){
			cookies.emplace_back(b);
			a--;
		}
	}
	int m;
	cin >> m;
	vector<int> weights(m);
	for(int&i:weights)cin>>i;
	if(tot%weights[0]){
		cout << "-1\n";
		return 0;
	}
	bool works = true;
	for(auto&[a,b]:carr){
		if(a>tot/weights[0])works=false;
	}
	if(!works){
		cout << "-1\n";
		return 0;
	}
	cout << tot/weights[0] << '\n';
	for(int i=1;i<=tot/weights[0];i++){
		cout << weights[0] << ' ';
		for(int j=i;j<=tot;j+=tot/weights[0]){
			cout << cookies[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...
#Verdict Execution timeMemoryGrader output
Fetching results...