一个称为DH(DogHouse)的狗的社交网络有k台专用服务器来重新上传可爱的猫的上传视频。每个视频上传后,应该在一个(任何)服务器上重新压缩,之后才可以保存在社交网络中。

我们知道每个服务器需要一秒钟来重新压缩一分钟的片段。因此,任何服务器需要m秒钟来重新压缩m分钟的视频。

我们知道每个n个视频上传到网络的时间(从所有服务器开始工作的时间开始)。所有视频都会出现在不同的时刻,并按照他们出现的顺序重新压缩。如果有些视频出现在时间s,那么它的再压缩可以立即从那个时刻开始。当所有服务器都忙时,有些视频可以等待重新压缩。在这种情况下,只要服务器可用,它立即开始重新压缩另一个视频。正在等待重新压缩的视频进入队列。如果视频开始被重新压缩,那么有些服务器可用,那么其中任何一个开始重新压缩视频。

对于每个视频,找到停止重新压缩的那一刻。

输入:

第一行n,k<=5*10^5表示视频数,有k台服务器

接下来n行每行表示一个视频,分别是ai,bi<=10^9。为开始时间与压缩时间

输出:

每个点的最小结束时间

输入
3 2 
1 5
2 5
3 5
输出
6 
7
11
输入
6 1 
1 1000000000
2 1000000000
3 1000000000
4 1000000000
5 1000000000
6 3
输出
1000000001 
2000000001
3000000001
4000000001
5000000001
5000000004
数据保证是递增排序的,所以不要排序
所以直接贪心,当堆中满了,选择完成时间最靠前的视频pop
所以堆维护完成时间,算出视频完成时间后加入堆
 #include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
using namespace std;
typedef long long LL;
struct Node
{
LL a,b,num;
}a[];
priority_queue<LL, vector<LL>,greater<LL> >q;
LL n,m,sum,t[];
LL max(LL a,LL b)
{
if (a<b) return b;
else return a;
}
int main()
{LL i,j;
//freopen("water.in","r",stdin);
//freopen("water.out","w",stdout);
cin>>n>>m;
for (i=;i<=n;i++)
{
scanf("%I64d%I64d",&a[i].a,&a[i].b);
a[i].num=i;
}
//sort(a+1,a+n+1,cmp);
for (i=;i<=n;i++)
{
if (sum<m)
{
sum++;
q.push(a[i].a+a[i].b);
t[i]=a[i].a+a[i].b;
}
else
{
LL tmp=q.top();
q.pop();
q.push(max(tmp,a[i].a)+a[i].b);
t[i]=max(tmp,a[i].a)+a[i].b;
}
}
for (i=;i<=n;i++)
printf("%I64d\n",t[i]);
}

codeforces 523D tatistics of Recompressing Videos的更多相关文章

  1. D. Statistics of Recompressing Videos

    D. Statistics of Recompressing Videos time limit per test 3 seconds memory limit per test 256 megaby ...

  2. 【codeforces】【Round#523D】TV shows

    题意:n个节目,每个节目的播放时间为[li,ri],你需要选择一些电视机全部播放这些节目,一台电视机不能同时播放多个节目,选择一个新的电视机代价为x , 如果某台电视机的使用时间为[Li,Ri]需要付 ...

  3. Codeforces Round #588 (Div. 2) E. Kamil and Making a Stream(DFS)

    链接: https://codeforces.com/contest/1230/problem/E 题意: Kamil likes streaming the competitive programm ...

  4. python爬虫学习(5) —— 扒一下codeforces题面

    上一次我们拿学校的URP做了个小小的demo.... 其实我们还可以把每个学生的证件照爬下来做成一个证件照校花校草评比 另外也可以写一个物理实验自动选课... 但是出于多种原因,,还是绕开这些敏感话题 ...

  5. 【Codeforces 738D】Sea Battle(贪心)

    http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...

  6. 【Codeforces 738C】Road to Cinema

    http://codeforces.com/contest/738/problem/C Vasya is currently at a car rental service, and he wants ...

  7. 【Codeforces 738A】Interview with Oleg

    http://codeforces.com/contest/738/problem/A Polycarp has interviewed Oleg and has written the interv ...

  8. CodeForces - 662A Gambling Nim

    http://codeforces.com/problemset/problem/662/A 题目大意: 给定n(n <= 500000)张卡片,每张卡片的两个面都写有数字,每个面都有0.5的概 ...

  9. CodeForces - 274B Zero Tree

    http://codeforces.com/problemset/problem/274/B 题目大意: 给定你一颗树,每个点上有权值. 现在你每次取出这颗树的一颗子树(即点集和边集均是原图的子集的连 ...

随机推荐

  1. 新手使用mac上的textedit写HTML时遇到的问题及解决办法

    刚开始在mac上学习HTML,总结一下遇到的问题和解决办法 问题:使用textedit编写html,在网页上却仍然显示的是代码. 解决办法: 打开textedit后打开文本编辑 选择偏好设置 按如图所 ...

  2. C语言第六次博客作业--数据类型

    一.PTA实验作业 题目1:区位码输入法 1. 本题PTA提交列表 2. 设计思路 (1)定义整型变量code放区位码,areacode放区码,digitcode放位码,one放个位数,two放十位数 ...

  3. 20162330 第10周 MySort实验

    关于MySort的进一步实践 课堂作业题目如下: 模拟实现Linux下Sort -t : -k 2的功能.参考Sort的实现.提交码云链接和代码运行截图. import java.util.*; pu ...

  4. C语言——第二次作业

    **学习内容总结** 本周是国庆假期,学习了mooc相关课程.阅读了<提问的智慧>一文. 文章总结 1.在提问之前,要利用身边的资源(例如相关资料.FAQ.浏览器搜索)试着自己寻找答案,或 ...

  5. 《Language Implementation Patterns》之 符号表

    前面的章节我们学会了如何解析语言.构建AST,如何访问重写AST,有了这些基础,我们可以开始进行"语义分析"了. 在分析语义的一个基本方面是要追踪"符号",符号 ...

  6. 20145237 实验二 “Java面向对象程序设计”

    20145237 实验二 “Java面向对象程序设计” 实验内容 • 理解并掌握面向对象三要素:封装.继承.多态 • 初步掌握UML建模 • 熟悉S.O.L.I.D原则 • 使用TDD设计实现复数类 ...

  7. Argparse简易教程

    Argparse简易教程 原文:Argparse Tutorial 译者:likebeta 本教程是对于Python标准库中推荐使用的命令行解析模块argparse的简单介绍. PS:还有其他两个模块 ...

  8. 关于Java的异常

    异常机制概述 异常机制是指当程序出现错误后,程序如何处理.具体来说,异常机制提供了程序退出的安全通道.当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器. 异常处理的流程 当程序中抛出 ...

  9. IT学习逆袭的新模式,全栈实习生,不8000就业不还实习费

    大家好: 我是马伦,也就是多年耕耘在IT培训一线的老马.老马一直怀揣普惠教育梦想初心,一直为莘莘学子能获得高质量的IT教育服务而奋斗. 之前老马在IT培训机构任职讲师多年,也有丰富的教学管理经验.接触 ...

  10. HTML事件处理程序

    事件处理程序中的代码执行时,有权访问全局作用域中任何代码. //为按钮btn_event添加了两个个事件处理程序,而且该事件会在冒泡阶段触发(最后一个参数是false). var btn_event ...