莫名RE
查看原帖
莫名RE
578628
Undead2008楼主2022/10/16 12:11

rt,全部RE,痛失AK

#include<bits/stdc++.h>
using namespace std;
#define ll long long
struct elf{
	int val,id;
};
int n,mxv,mxid,mxhv,mxhidx,mxhidy;
elf rec[3010][3010];
int min(int a,int b,int c){
	return min(a,min(b,c));
}
ll ret(int ans){
	return (1ll*ans*ans*ans/4);
}
int solve(int x_,int y_,int z_,int id){
	if(min(x_,y_,z_)>mxv){
		mxv=min(x_,y_,z_);
		mxid=id;
	}
	if(min(x_,y_,rec[x_][y_].val+z_)>mxhv&&rec[x_][y_].val){
		mxhv=min(x_,y_,rec[x_][y_].val+z_);
		mxhidx=rec[x_][y_].id;
		mxhidy=id;
	}
	if(min(y_,x_,rec[y_][x_].val+z_)>mxhv&&rec[y_][x_].val){
		mxhv=min(y_,x_,rec[y_][x_].val+z_);
		mxhidx=rec[y_][x_].id;
		mxhidy=id;
	}
	if(min(z_,y_,rec[z_][y_].val+x_)>mxhv&&rec[z_][y_].val){
		mxhv=min(z_,y_,rec[z_][y_].val+x_);
		mxhidx=rec[z_][y_].id;
		mxhidy=id;
	}
	if(min(z_,y_,rec[y_][z_].val+x_)>mxhv&&rec[y_][z_].val){
		mxhv=min(z_,y_,rec[y_][z_].val+x_);
		mxhidx=rec[y_][z_].id;
		mxhidy=id;
	}
	if(min(x_,z_,rec[x_][z_].val+y_)>mxhv&&rec[x_][z_].val){
		mxhv=min(x_,z_,rec[x_][z_].val+y_);
		mxhidx=rec[x_][z_].id;
		mxhidy=id;
	}
	if(min(x_,z_,rec[z_][x_].val+y_)>mxhv&&rec[z_][x_].val){
		mxhv=min(x_,z_,rec[z_][x_].val+y_);
		mxhidx=rec[z_][x_].id;
		mxhidy=id;
	}
	if(rec[x_][y_].val<z_){
		rec[x_][y_].val=z_;
		rec[x_][y_].id=id;
	}
	if(rec[y_][x_].val<z_){
		rec[y_][x_].val=z_;
		rec[y_][x_].id=id;
	}
	if(rec[z_][y_].val<x_){
		rec[z_][y_].val=x_;
		rec[z_][y_].id=id;
	}
	if(rec[y_][z_].val<x_){
		rec[y_][z_].val=x_;
		rec[y_][z_].id=id;
	}
	if(rec[x_][z_].val<y_){
		rec[x_][z_].val=y_;
		rec[x_][z_].id=id;
	}
	if(rec[z_][x_].val<y_){
		rec[z_][x_].val=y_;
		rec[z_][x_].id=id;
	}
}
int main(){
	cin>>n;
	for(int i=1,u,v,w;i<=n;i++){
		cin>>u>>v>>w;
		solve(u,v,w,i);
	}
	if(mxv>mxhv){
		cout<<0<<endl<<mxid<<endl<<ret(mxv);
		//printf("0\n%d\n%lld",mxid,ret(mxv));
	}else{
		cout<<1<<endl<<mxhidx<<' '<<mxhidy<<endl<<ret(mxhv);
		//printf("1\n%d %d\n%lld",mxhidx,mxhidy,ret(mxhv));
	}
}
2022/10/16 12:11
加载中...