题意:小于相邻元素成为局部最小值,大于相邻元素成为局部最大值,a1和an为相邻元素,相邻数字相差1,给定局部最大值的和和局部最小值的和,构造函数
分析:让第一个为x,每次减1,直到y,再每次加1,直到x
代码:
#include<bits/stdc++.h> using namespace std; typedef long long ll; void sol(){ ll x,y;cin>>x>>y; cout<<(x-y)*2<<endl; int c=x; while(1){ if(c==y)break; cout<<c<<" "; c--; } while(1){ if(c==x)break; cout<<c<<" "; c++; } } int main(){ int t;cin>>t; while(t--)sol(); return 0; }