#include<bits/stdc++.h>
using namespace std;
long long n,d;
int main(){
cin>>n>>d;
if(n==1) cout<<-1;
else if(n/2==(n+1)/2){
if(d>=n/2&&d<=(3*n-2)/2){
for(int i=1;i<=n/2;i++) cout<<i*2-1<<" ";
for(int i=n/2+1;i<=n;i++) cout<<(i-n/2)*2<<" ";
for(int i=n+1;i<=3*n/2;i++) cout<<(i-n)*2<<" ";
for(int i=3*n/2+1;i<=2*n;i++) cout<<(i-3*n/2)*2-1<<" ";
}
else cout<<-1;
return 0;
}
else if(n/2==(n-1)/2){
if(d>=(n-1)/2&&d<=(3*n-3)/2){
for(int i=1;i<=n/2+1;i++) cout<<i*2-1<<" ";
for(int i=n/2+2;i<=n;i++) cout<<(i-n/2-1)*2<<" ";
for(int i=n+1;i<=3*n/2;i++) cout<<(i-n)*2<<" ";
for(int i=3*n/2+1;i<=2*n;i++) cout<<(i-3*n/2)*2-1<<" ";
}
else cout<<-1;
return 0;
}
else cout<<-1;
return 0;
}
我在草稿纸上算了几遍 没发现我的数学推导有问题啊...
有没有大佬能帮忙解答一下 谢谢
分数24/100 Subtask2全过