3629. Channel On Live

【题目链接】

题目意思

给n,m两个数字,n表示有n个人,m表示总时长,要你求最大同时观看人数,下面n行给出两个数字si,ti,表示第i个人的观看时间si-ti,求最大同时观看人数和平均观看人数。

好像就是一个板子题?给你n个区间,让你求n个区间中某个值出现的最大次数。

#include<iostream>
#include<algorithm>
using namespace std;
int a[250001], b[250001], n;
int main()
{
    int m, in = 1, mx = 1, f;
    double sum = 0;
    scanf("%d%d", &n, &m);
    for (int i = 0; i < n; i++)
    {
        scanf("%d%d", &a[i], &b[i]);
        sum += b[i] - a[i] + 1;
    }
    sort(a, a + n);
    sort(b, b + n);
    f = a[0];
    int i = 1, j = 0;
    while (i < n && j < n)
    {
        if (a[i] <= b[j])
        {
            in++;
            if (in > mx)
            {
                mx = in;
                f = a[i];
            }
            i++;
        }
        else
        {
            in--;
            j++;
        }
    }
    sum /= m;
    printf("%d\n%.12lf\n", mx, sum);
}
全部评论

相关推荐

头像
11-27 14:28
长沙理工大学
刷算法真的是提升代码能力最快的方法吗?&nbsp;刷算法真的是提升代码能力最快的方法吗?
牛牛不会牛泪:看你想提升什么,代码能力太宽泛了,是想提升算法能力还是工程能力? 工程能力做项目找实习,算法也分数据结构算法题和深度学习之类算法
点赞 评论 收藏
分享
11-26 22:34
已编辑
重庆邮电大学 Java
快手 客户端开发 (n+5)k*16 公积金12
牛客895077908号:佬 什么双非硕啊
点赞 评论 收藏
分享
10-15 09:13
已编辑
天津大学 soc前端设计
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务