70pts 3WA求调
查看原帖
70pts 3WA求调
416549
Kao_Potato楼主2022/10/16 12:18
#include <cstdio>
#include <vector>
#include <iostream>
using namespace std;
int jn,ans,ans2,ans3;
vector<int> v[1005];
struct J{
	int a,b,c;
}j[500005];
int main(){
	scanf("%d",&jn);
	for(int i=0;i<jn;i++){
		scanf("%d%d%d",&j[i].a,&j[i].b,&j[i].c);
		if(j[i].a>j[i].b){
			swap(j[i].a,j[i].b);
		}
		if(j[i].a>j[i].c){
			swap(j[i].a,j[i].c);
		}
		if(j[i].b>j[i].c){
			swap(j[i].b,j[i].c);
		}
		v[j[i].c].push_back(i);
		if(ans<j[i].a){
			ans=j[i].a;
			ans2=i+1;
		}
	}
	for(int i=0;i<jn;i++){
		int c=j[i].c,len=v[c].size();
		for(int k=0;k<len;k++){
			if(v[c][k]!=i && j[v[c][k]].b==j[i].b){
				if(ans<min(min(c+j[v[c][k]].a,j[i].b),j[i].c)){
					ans=min(min(c+j[v[c][k]].a,j[i].b),j[i].c);
					ans2=i+1;
					ans3=v[c][k]+1;
				}
			}
		}
	}
	ans=ans*ans*ans/4;
	if(ans3==0){
		printf("0\n%d\n%d",ans2,ans);
	}else{
		printf("1\n%d %d\n%d",min(ans2,ans3),max(ans2,ans3),ans);
	}
	return 0;
}
2022/10/16 12:18
加载中...