4,5,6,7,9,10 WA
#include<bits/stdc++.h>
using namespace std;
const int N=444422;
typedef long long ll;
int n,m;
struct elf{
int r1,r2,r3,id,id2=0;
void mysort(){
if(r1>r2)swap(r1,r2);
if(r2>r3)swap(r2,r3);
if(r1>r2)swap(r1,r2);
}
ll calc(){
return (ll)r1*r1*r1/4;
}
}a[N],b[N];
bool cmp(elf x,elf y){
if(x.r3!=y.r3)return x.r3<y.r3;
if(x.r2!=y.r2)return x.r2<y.r2;
return x.r1<y.r1;
}
signed main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
elf p;p.id=i;
scanf("%d %d %d",&p.r1,&p.r2,&p.r3);
p.mysort();a[i]=p;
}
sort(a+1,a+n+1,cmp);
int cnt=0;
for(int i=1;i<n;i++){
//printf("%d %d %d %d\n",a[i].r1,a[i].r2,a[i].r3,a[i].id);
if(a[i].r2==a[i+1].r2&&a[i].r3==a[i+1].r3&&
a[i+2].r2!=a[i+1].r2&&a[i+2].r3!=a[i+1].r3){
b[++cnt].r1=a[i].r1+a[i+1].r1;
b[cnt].r2=a[i].r2;
b[cnt].r3=a[i].r3;
b[cnt].id=a[i].id;
b[cnt].id2=a[i+1].id;
b[cnt].mysort();
}
}
elf mm=a[n];
for(int i=1;i<=cnt;i++)
if(mm.r1<b[i].r1)mm=b[i];
if(mm.id2==0)printf("0\n%d\n%lld",mm.id,mm.calc());
else printf("1\n%d %d\n%lld",mm.id,mm.id2,mm.calc());
return 0;
}
我在赛场上没有来得及交这道题