Pagini recente » Cod sursa (job #2083706) | Cod sursa (job #1944741) | Cod sursa (job #796968) | Cod sursa (job #1851152) | Cod sursa (job #590591)
Cod sursa(job #590591)
#include <cstdio>
#include <fstream>
using namespace std;
int v[131072];
int main ()
{
ifstream in ("farfurii.in");
freopen ("farfurii.out","w",stdout);
int n,k;
in>>n>>k;
long long m=1,x,a;
for(bool g=1;g;){
g=0;
x=(n-m)*(n-m-1)>>1;
if(x>k){
v[m]=m;
g=1;
}
else{
v[m]=m+k-x;
x=v[m];
a=n;
for(int i=m+1;i<=n;++i)
if(x==a){
v[i]=--a;
--a;
}
else{
v[i]=a;
--a;
}
}
++m;
}
for(int i=1;i<=n;++i)
printf("%d ",v[i]);
return 0;}