题目链接:点击打开链接
#include <iostream>
#include <cstdio>
#include <string.h>
#include <queue>
#include <vector>
#include <algorithm>
#include <set>
using namespace std;
typedef long long ll;
vector<ll> G;
ll n, h;
int main(){
ll i, j, jia;
while(cin>>n>>h){
h++;
ll u = h*h, v = h;
G.clear();
i = u + v;
if(i<=n) {
G.push_back(i);
jia = v*2+1;
for(; i+jia <= n; i += jia, jia += 2)
G.push_back(i+jia);
reverse(G.begin(), G.end());
}
G.push_back(u);
jia = v*2LL;
for(i = u; i+jia <= n; i+=jia, jia+=2)
G.push_back(i+jia);
for(i = 0; i < (ll)G.size(); i++)
printf("%I64d%c", G[i], ( (i+1LL)==(ll)G.size() )?'\n':' ');
}
return 0;
}