# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
15191 | sujin | 분배 (kriii3_Q) | C++98 | 0 ms | 6668 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <cstdio>
int n,k,m,a[70000];
int o[17][70000],l[17];
int out[17][10000],r[17];
int main ()
{
int i,j,b,c,t,s;
scanf ("%d%d",&n,&k);
for (i=t=1;i<=n;i++,t*=2);
for (i=0;i<t;i++)
{
c=0,s=i;
while (s)
c+=s%2,s/=2;
l[c]++,o[c][l[c]]=i;
}
for (m=i=1;i<=k;i++,m*=2);
b=n,c=0,s=1;
for (i=0;i<t/2;i++)
{
if (++c>l[b])
c=1,b--;
out[s][++r[s]]=o[b][c];
if (n-b==b) c++;
out[s][++r[s]]=o[n-b][c];
s=s%m+1;
}
for (i=1;i<=m;i++,printf ("\n"))
for (j=1;j<=r[i];j++)
printf ("%d ",out[i][j]);
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |