组队
-
描述
-
ACMers在参加校赛、省赛、以及亚洲区域赛都是以三人一组进行比赛,现ACM队中有n个ACMers,每个ACMer都有自己的算法深度值;明年省赛就要到来,要每三个人组队去比赛,如果组队的ACMer的算法深度值总和越高,越有可能得到奖牌,现在让你对这些队员进行组队,找到一组最有可能得到奖牌的一组。
#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
struct acmer{
int number;
int value;
};
bool com(acmer x,acmer y)
{
if(x.value!=y.value)
return x.value>y.value;
if(x.number!=y.number)
return x.number<y.number;
}
int main()
{
int n;
acmer a[55];
while(~scanf("%d",&n))
{
for(int i=0;i<n;++i)
{
scanf("%d",&a[i].value);
a[i].number=i+1;
}
sort(a,a+n,com);
//for(int j=0;j<n;++j)
//printf("%d %d\n",a[j].value,a[j].number);
int max=a[0].value+a[1].value+a[2].value;
int b[3]={0};
for(int i=0;i<3;i++)
b[i]=a[i].number;
sort(b,b+3);
for(int i=0;i<3;i++)
printf("%d ",b[i]);
printf("%d",max);
printf("\n");
max=0;
}
return 0;
}