Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:都做到这个份上了,怎么还超时In Reply To:Re:都做到这个份上了,怎么还超时 Posted by:lijingwei at 2010-08-06 09:03:07 > #include<iostream> > #include<algorithm> > using namespace std; > struct In > { > int x; > int id; > }s[100015]; > int cmp(const void *a , const void *b) > { > struct In *c=(In *)a; > struct In *d = (In *)b; > return c->x-d->x; > } > int main() > { > int m,n; > int a,b,c,i; > cin>>n>>m; > for(i=0;i<n;i++) > { > scanf("%d",&s[i].x); > s[i].id=i; > } > qsort(s,n,sizeof(s[0]),cmp);//只用作一次快排,而不是m次 > while(m--) > { > scanf("%d%d%d",&a,&b,&c); > for(i=0;i<n;i++) > { > if(s[i].id>=a-1&&s[i].id<=b-1) > c--; > if(c==0)//数到0,则找到该数 > break; > } > printf("%d\n",s[i].x); > } > return 0; > } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator