求调
查看原帖
求调
718740
xhabc66楼主2022/10/16 12:37
#include<bits/stdc++.h>
using namespace std;

void sort3(int & a,int & b,int & c)
{
	if(a>c)swap(a,c);
	if(b>c)swap(b,c);
	if(a>b)swap(a,b);
}

struct jinglin
{
	int a,b,c,i;
	jinglin(int a=0,int b=0,int c=0,int i=0):a(a),b(b),c(c),i(i){};
}a[1000000];

bool cmpb(jinglin a,jinglin b)
{
	if(a.b==b.b)return a.c<b.c;
	else return a.b<b.b;
}

int main()
{
	int n;
	cin>>n;
	long long ans1=0,ansi;
	for(int i=0;i<n;i++)
	{
		int f,b,c;
		cin>>f>>b>>c;
		sort3(f,b,c);
		if(f>ans1)ans1=max(ans1,(long long)f),ansi=i;;
		a[i]=jinglin(f,b,c,i);
	}
	sort(a,a+n,cmpb);
	long long ans2=0;
	int ansi1,ansi2;
	for(int i=0;i<n-1;i++)
	{
		if(a[i].b==a[i+1].b&&a[i].c==a[i+1].c)ans2=min(a[i].a+a[i+1].a,min(a[i].b,a[i].c)),
											  ansi1=a[i].i,
											  ansi2=a[i+1].i;
	}
	if(ans1>=ans2)cout<<"0\n"<<ansi+1<<"\n"<<ans1*ans1*ans1/4;
	else cout<<"1\n"<<ansi1+1<<' '<<ansi2+1<<'\n'<<ans2*ans2*ans2/4;
	return 0;
}

https://www.luogu.com.cn/record/90147461

2022/10/16 12:37
加载中...