本文共 558 字,大约阅读时间需要 1 分钟。
思想很巧妙,
#include#include #include #include #include #include #include #include #include using namespace std;struct node{ int num,data; bool operator < (const node &p) const { return data < p.data; } }; node p[100001]; int main() { int n=100; int i,j,a,b,c; for(i=1;i<=n;i++) { p[i].data =n-i+1; p[i].num = i; } sort(p+1,p+1+n); //调用库函数sort完成排序,复杂度n*logn a=2; b=10; c=5; for(i=1;i<=n;i++) //扫描一遍,复杂度n { if(p[i].num>=a && p[i].num<=b) c--; if(c == 0) break; } printf("%d\n",p[i].data); return 0; }
转载地址:http://bbvvi.baihongyu.com/