📄 2573.txt
字号:
Problem Id:2573 User Id:fzk
Memory:56K Time:60MS
Language:C Result:Accepted
Source
#include"stdio.h"
void px(int *a,int n,int m)
{int s,i=n+1,j=m;
if(n>=m)return;
while(i<j)
{
while(a[n]>=a[i]&&i<j)i++;
while(a[n]<=a[j]&&j>i)j--;
if(a[i]>a[j]){s=a[i];a[i]=a[j];a[j]=s;}
}
if(a[i]>a[n])i--;
s=a[i];a[i]=a[n];a[n]=s;
px(a,n,i-1);
px(a,i+1,m);
}
main()
{int a[1001],total,i,j,k;
long t;
/*while(1)*/
scanf("%d",&total);
for(i=0;i<total;i++)scanf("%d",a+i);
if(total==1){printf("%d\n%d\n",a[0],a[0]);exit(0);}
px(a,0,total-1);
i=total-2;
while(a[i]>2*a[1]-a[0]&&i>=2)i-=2;
i+=2;j=i-1; k=i;
t=0;
for(;i<total-1;i+=2)t+=a[0]+2*a[1]+a[i+1];
for(;j>=1;j--){t+=a[0]+a[j];if(j==1)t-=a[0];}
printf("%ld\n",t);
for(i=k;i<total-1;i=i+2)
{printf("%d %d\n",a[0],a[1]);
printf("%d\n",a[0]);
printf("%d %d\n",a[i],a[i+1]);
printf("%d\n",a[1]);
}
for(i=1;i<k;i++){printf("%d %d\n",a[0],a[i]);
if(i==k-1)break;printf("%d\n",a[0]);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -