分析:这个模拟写的不好,,但终于过了。
#include<bits/stdc++.h>
#define maxn 100010
using namespace std;int main(){std::ios::sync_with_stdio(false);int n,k;cin>>n>>k;int ans=2*k+1;int tmp=n%ans;if(k==0){cout<<n<<endl;for(int i=1;i<=n;i++)cout<<i<<" ";cout<<endl;}else{if(ans>=n){cout<<"1"<<endl;cout<<n/2+1<<endl;}else{if(tmp==0){int t=n/ans;cout<<t<<endl;int cur=k+1;for(int i=1;i<=t;i++){cout<<cur+(i-1)*(2*k+1)<<" ";}cout<<endl;}else if(tmp>=k+1&&tmp<=2*k){int t=n/ans;cout<<t+1<<endl;int cur=k+1;for(int i=1;i<=t;i++){cout<<cur+(i-1)*(2*k+1)<<" ";}//cout<<endl<<"ans="<<ans<<" t="<<t<<endl;cout<<t*ans+k+1<<endl;}else {tmp+=k;int sum=n-k-1-tmp;int t=sum/ans;cout<<2+t<<endl;cout<<"1"<<" ";int cur=2*k+2;for(int i=1;i<=t;i++){cout<<cur+(i-1)*(2*k+1)<<" ";}cout<<n-tmp+k+1<<endl;}}}return 0;
}