本文共 661 字,大约阅读时间需要 2 分钟。
其实我们并不需要比较体积,我们只需要比较位置就好了,这样会节省很多时间,
先把体积和相应的位置结构体排序, 再在 l l l和 r r r的范围寻找位置就好了。#include#include #include #include #include using namespace std;int n,m,l,r;struct node{ int x,y;}a[100010];bool cmp(const node&l,const node&r){ return l.x>r.x;}int main(){ freopen("airship.in","r",stdin); freopen("airship.out","w",stdout); cin>>n>>m; for(int i=1; i<=n; i++) { scanf("%d",&a[i].x); a[i].y=i; //记录 } sort(a+1,a+n+1,cmp); //排序 for(int i=1; i<=m; i++) { scanf("%d%d",&l,&r); for(int j=1; j<=n; j++) if(a[j].y>=l&&a[j].y<=r) //寻找 { printf("%d\n",a[j].x); break; } }}
转载地址:http://osle.baihongyu.com/