站外题求数列中最大值和最小值
内存超限什么意思qwq
代码:
#include<bits/stdc++.h>
using namespace std;
int n,s[200010],ax,in=INT_MAX;
void a1(int z,int y,int &axx,int &inn){
int mid=(z+y)>>1,aax=0,ain=INT_MAX,bax=0,bin=INT_MAX;
if(z==y){
axx=inn=s[z];
return;
}
a1(z,mid-1,aax,ain);
a1(mid,y,bax,bin);
axx=max(aax,bax);
inn=min(ain,bin);
}
int main(){
scanf("%d",&n);
for(int i=1;i<=n;scanf("%d",&s[i++]));
a1(1,n,ax,in);
printf("%d %d",ax,in);
return 0;
}
萌新刚学分治大佬轻喷QWQ