sdut oj 3547活动选择(山东理工大学第七届校赛)

来源:互联网 发布:知乎产品分析报告 编辑:程序博客网 时间:2024/04/30 11:10

题目链接:点击打开链接

题目描述

自从小白和小黑的小船翻了以后,小白就在学校勤工俭学,现在小白得到了一个任务:明天学校要举办一些活动,让小白安排教室,但是最近学校的教室资源比较的紧张,所以要用尽量少的教室(同一个教室不能同时举办两个活动)。

输入

 多组输入,每组输入一个n(1 <= n <= 100000)表示活动的数量,接下来的n行每行两个整数l,r(1 < l < r < 10^9)代表活动的开始时间与结束时间。

输出

输出需要最小教室的数量。

示例输入

31 23 42 9

示例输出

2
ps:思路看代码体会(用cin会超时)

#include <iostream>#include<cstdio>#include<algorithm>using namespace std;struct node{    int a,b;}q[210000];bool cmp(node x,node y){    if(x.a!=y.a)return x.a<y.a;    else return x.b>y.b;}int main(){    int n;    while(~scanf("%d",&n))    {        for(int i=0;i<2*n;i+=2)        {            scanf("%d%d",&q[i].a,&q[i+1].a);            q[i].b=0;            q[i+1].b=1;        }        sort(q,q+2*n,cmp);        int mx=0;        int t=0;        for(int i=0;i<2*n;i++)        {            if(q[i].b==0)t++;            else t--;            if(mx<t)mx=t;        }        printf("%d\n",mx);    }    return 0;}


0 0
原创粉丝点击