取前50個數暴力即可
#include<bits/stdc++.h>
using namespace std;
int n,m,a[100010],q[5];
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
scanf("%d",&m);
while(m--){
int op,x,y;
scanf("%d",&op);
if(op==1){
scanf("%d%d",&x,&y);
a[x]=y;
}
else{
int ok=0;
for(int k=1;k<=min(50,n);k++)if(!ok)
for(int j=1;j<k;j++)if(!ok)
for(int i=1;i<j;i++)if(!ok){
q[1]=a[k];
q[2]=a[j];
q[3]=a[i];
sort(q+1,q+4);
if(q[1]+q[2]>q[3]&&q[2]+q[3]>q[1]&&q[3]+q[1]>q[2]){
printf("%d %d %d\n",q[1],q[2],q[3]);
ok=1;
break;
}
}
if(!ok)printf("-1 -1 -1\n");
}
}
}