求一個長度爲2n的序列,滿足Σ|a2i−a2i−1|−|Σa2i−a2i−1|=2k
這種帶絕對值的題目套路就是把絕對值拆開。看看n=2時候的情況
[1,2,3,4]
|2−1|+|4−3|−|2−1+4−3|=0
swap(1,2)=>
|1−2|+|4−3|−|1−2+4−3|=2
也就是交換一組產生2的貢獻,直接交換k組就好了。
#include<iostream>
using namespace std;
/*
*/
int main(){
int n,k; cin>>n>>k;
for(int i=1;i<=n;++i){
if(k>0) cout<<i*2<<" "<<i*2-1<<" ";
else cout<<i*2-1<<" "<<i*2<<" ";
k--;
}return 0;
}