GYM 101149 E.The Best among Equals(水~)

来源:互联网 发布:网络投票哪家好 编辑:程序博客网 时间:2024/05/22 06:31

Description
给出n支队伍的比赛得分上下限[l[i],r[i]],要求给每个队伍设定合适的分数使得最高分的队伍最多
Input
第一行一整数n表示队伍数,之后n行每行两个整数l[i]和r[i]分别表示第i支队伍的上下限(1<=n<=2e5,-1e9<=l[i]<=r[i]<=1e9)
Output
输出得到最高分队伍数量
Sample Input
3
1 3
2 4
4 5
Sample Output
3
Solution
最高分最少也是l的最大,要是得到最高分的队伍最多,那么最高分应该尽量小,令L=max(l[i])为最高分,答案即为r[i]>L的i的数量
Code

#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>#include<cmath>#include<vector>#include<queue>#include<map>#include<set>#include<ctime>using namespace std;typedef long long ll;#define INF 0x3f3f3f3f#define maxn 222222int n,l[maxn],r[maxn];int main(){    while(~scanf("%d",&n))    {        for(int i=0;i<n;i++)scanf("%d%d",&l[i],&r[i]);        int Min=l[0];        for(int i=1;i<n;i++)Min=max(Min,l[i]);        int ans=0;        for(int i=0;i<n;i++)            if(r[i]>=Min)ans++;        printf("%d\n",ans);    }    return 0;}
0 0
原创粉丝点击