제출 #342760

#제출 시각아이디문제언어결과실행 시간메모리
342760David_MNice sequence (IZhO18_sequence)C++14
30 / 100
83 ms28560 KiB
#include <bits/stdc++.h> 
#define ll long long
#define F first
#define S second
#define FF first.first
#define FS first.second
#define pb push_back
using namespace std;
const ll N=200006, INF=1e18;
     
ll pos, l, r, n, m, t, a[N], b[N], h[N], p[20][N], q, k, x, y;
vector <ll> v[N];
set <ll> s[N], S[N];

int main(){ios_base::sync_with_stdio(false), cin.tie(0);
	cin>>q;
	while(q--){
		cin>>n>>m;
	
		if (n>m){
			if(n%m==0){
				cout<<n-1<<'\n';
				for (int i=1; i<n; i++)cout<<"1 ";
				cout<<'\n';
				continue;
			}
			if(m==2){
				cout<<n<<"\n-999999999 ";
				for (int i=1; i<n; i+=2)cout<<"1000000000 -999999999 ";
				cout<<'\n';
				continue;
			}
			if(n==m+2&&n%2==1){
				cout<<2*m<<'\n';
				for (int i=1; i<m; i+=2)cout<<m<<" "<<-n<<" ";
				cout<<m<<" "<<m<<" ";
				for (int i=1; i<m; i+=2)cout<<-n<<" "<<m<<" ";
				cout<<'\n';
				continue;
			}
			if(n==m+1||n==m+2){
				cout<<m*2-1<<'\n';
				for (int i=1; i<m; i++)cout<<"-2 ";
				cout<<2*m-1;
				for (int i=1; i<m; i++)cout<<" -2";
				cout<<'\n';
				continue;
			}
		}else{
			if(m%n==0){
				cout<<m-1<<'\n';
				for (int i=1; i<m; i++)cout<<"-1 ";
				cout<<'\n';
				continue;
			}
			if(n==2){
				cout<<m<<"\n999999999 ";
				for (int i=1; i<m; i+=2)cout<<"-1000000000 999999999 ";
				cout<<'\n';
				continue;
			}
			if(m==n+2&&m%2==1){
				cout<<2*n<<'\n';
				for (int i=1; i<n; i+=2)cout<<-n<<" "<<m<<" ";
				cout<<-n<<" "<<-n<<" ";
				for (int i=1; i<n; i+=2)cout<<m<<" "<<-n<<" ";
				cout<<'\n';
				continue;
			}
			if(m==n+1||m==n+2){
				cout<<n*2-1<<'\n';
				for (int i=1; i<n; i++)cout<<"2 ";
				cout<<-2*n+1;
				for (int i=1; i<n; i++)cout<<" 2";
				cout<<'\n';
				continue;
			}
		}
	}
}
#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...