hdu 2071
一道很水的题,我把它用线段树来写的,算是一看点吧
#include<stdio.h> #define maxn 105 double sum[maxn<<2]; double max(double a,double b) { if(a>b) return a; else return b; } void btree(int l,int r,int rt) { if(l==r) { scanf("%lf",&sum[rt]); return; } int mid=(l+r)>>1; btree(l,mid,rt<<1); btree(mid+1,r,rt<<1|1); sum[rt]=max(sum[rt<<1],sum[rt<<1|1]); } int main() { int t; int n; scanf("%d",&t); while(t--) { scanf("%d",&n); btree(1,n,1); printf("%.2lf\n",sum[1]); } return 0; }