|
发表于 2019-10-11 15:31:35
|
显示全部楼层
- #include<stdio.h>
- #include<stdlib.h>
- int xyx_sca()
- {
- int n;
- scanf("%d",&n);
- return 0;
- }
- int xyx_scn()
- {
- int k;
- scanf("%d",&k);
- return 0;
- }
- int main()
- {
- long long i,n,k,*xi,*yi,xll,xrig,xlry;
- //xyx_sca()
- scanf("%lld",&n);
- scanf("%lld",&k);
- xi=(long long *)malloc(n*sizeof(long long));
- yi=(long long *)malloc(n*sizeof(long long));
- for(i=0;i<n;i++)
- scanf("%lld",&xi[i]);
- for(i=0;i<n;i++)
- {
- xll=i;
- for(xrig=i+1;xrig<n;xrig++)
- {
- if(xi[xll]<xi[xrig])
- xll=xrig;
- }
- if(xll!=i)
- {
- xlry=xi[xll];
- xi[xll]=xi[i];
- xi[i]=xlry;
- }
- }
- yi[k-1]=xi[0];
- xll=k-2;
- xrig=k;
- xlry=1;
- for(i=1;i<n;i++)
- {
- if(xll<0)
- xll=n-1;
- if(xrig>n-1)
- xrig=0;
- if(xlry==1)
- {
- yi[xrig]=xi[i];
- xrig++;
- }
- else
- {
- yi[xll]=xi[i];
- xll--;
- }
- xlry=-xlry;
- }
- for(i=0;i<n;i++)
- printf("%lld ",yi[i]);
- return 1;
- }
复制代码 |
|