Submission #385478

#TimeUsernameProblemLanguageResultExecution timeMemory
385478vanicNice sequence (IZhO18_sequence)C++14
15 / 100
10 ms748 KiB
#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>

using namespace std;

void solve(){
	int n, m;
	cin >> n >> m;
	int sol;
	if(n>m){
		if(n%m==0){
			sol=max(n-1, m*2-1);
		}
		else{
			sol=max(n, m*2-1);
		}
		cout << sol <<  '\n';
		if(sol==n-1){
			for(int i=0; i<sol; i++){
				cout << 1 << ' ';
			}
			cout << '\n';
		}
		else{
			int br=(sol+m-1)/m+1;
			for(int i=1; i<=sol; i++){
				if(i%m){
					cout << -br << ' ';
				}
				else{
					cout << br*(m-1)+1 << ' ';
				}
			}
			cout << '\n';
		}
	}
	else if(n<m){
		if(m%n==0){
			sol=max(m-1, n*2-1);
		}
		else{
			sol=max(m, n*2-1);
		}
		cout << sol <<  '\n';
		if(sol==m-1){
			for(int i=0; i<sol; i++){
				cout << -1 << ' ';
			}
			cout << '\n';
		}
		else{
			int br=(sol+n-1)/n+1;
			for(int i=1; i<=sol; i++){
				if(i%n){
					cout << br << ' ';
				}
				else{
					cout << -br*(n-1)-1 << ' ';
				}
			}
			cout << '\n';
		}
	}
	else{
		cout << n-1 << '\n';
		for(int i=0; i<n-1; i++){
			cout << 1 << ' ';
		}
		cout << '\n';
	}
}

int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	int t;
	cin >> t;
	while(t--){
		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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...