Codeforces 166A Rank List(二分)
2016-08-04 09:24
351 查看
#include<stdio.h> #include<stdlib.h> #include<algorithm> #include<math.h> #include<string.h> #include<queue> #include<vector> #include<map> #include<iostream> #include<string> #define LL long long using namespace std; struct man { int p; int t; }men[55]; int has[55]; bool cmp(man a,man b) { if(a.p>b.p) return 1; else if(a.p==b.p) if(a.t<b.t) return 1; else return 0; else return 0; } int upperbound(int l,int r,man k) { while(l<r) { int m=l+(r-l+1)/2; if(men[m].p>k.p) l=m; else if(men[m].p==k.p&&men[m].t<=k.t) l=m; else r=m-1; } return l; } int main() { //freopen("test.txt","r",stdin); int n,k,ans=0; scanf("%d%d",&n,&k); for(int i=1;i<=n;i++) scanf("%d%d",&men[i].p,&men[i].t); sort(men+1,men+1+n,cmp); for(int i=1;i<=n;i++) { int up=upperbound(i,n,men[i]); for(int j=i;j<=up;j++) has[j]=up-i+1; i=up; } printf("%d\n",has[k]); return 0; }
相关文章推荐
- Codeforces 760B (二分)
- codeForces 165B.Burning Midnight Oil(二分)
- codeforces_607A. Chain Reaction(二分+简单dp)
- Codeforces 740D Alyona and a tree 二分+树上差分
- Codeforces 801C(二分)
- Codeforces 762C Two Strings 二分判定+预处理
- codeforces 817C Really Big Numbers 二分
- codeforces_600B. Queries about less or equal elements(排序二分)
- 【Codeforces 778 A String Game】+ 二分
- 【Codeforces】-702C-Cellular Network(二分)
- codeforces 74B. Arpa’s obvious problem and Mehrdad’s terrible solution (异或+二分STL)
- codeforces 589G:线段树+二分
- CodeForces 627D Preorder Test(树形DP+二分)
- Codeforces 626C Block Towers(二分)
- 【CodeForces】585 E. Present for Vitalik the Philatelist
- codeforces 706B B. Interesting drink(二分)
- Codeforces 822C: Hacker, pack your bags!【二分查找】【后缀最小值】
- 【codeforces 782B】The Meeting Place Cannot Be Changed(二分)
- 【33.33%】【codeforces 681D】Gifts by the List
- codeforces 485D. Maximum Value(二分+思维)