Codeforces 887D Ratings and Reality Shows
参加talk show的时间肯定是在某个t[ i ]的后一秒, 枚举一下就好了。
#include<bits/stdc++.h>
#define LL long long
#define fi first
#define se second
#define mk make_pair
#define PLL pair<LL, LL>
#define PLI pair<LL, int>
#define PII pair<int, int>
#define SZ(x) ((int)x.size())
#define ull unsigned long long using namespace std; const int N = 3e5 + ;
const int inf = 0x3f3f3f3f;
const LL INF = 0x3f3f3f3f3f3f3f3f;
const int mod = ;
const double eps = 1e-;
const double PI = acos(-); int Log[N];
struct ST {
LL dp[N][]; int ty;
void build(int n, LL b[], int _ty) {
ty = _ty;
for(int i = -(Log[]=-); i < N; i++)
Log[i] = Log[i - ] + ((i & (i - )) == );
for(int i = ; i <= n; i++) dp[i][] = ty * b[i];
for(int j = ; j <= Log[n]; j++)
for(int i = ; i+(<<j)- <= n; i++)
dp[i][j] = max(dp[i][j-], dp[i+(<<(j-))][j-]);
}
inline LL query(int x, int y) {
int k = Log[y - x + ];
return ty * max(dp[x][k], dp[y-(<<k)+][k]);
}
}; int n, a, b, c, d, start, len;
int t[N], q[N];
LL sum[N];
ST rmq; int main() {
cin >> n >> a >> b >> c >> d >> start >> len;
for(int i = ; i <= n; i++) {
cin >> t[i] >> q[i];
if(q[i]) sum[i] = sum[i - ] + c;
else sum[i] = sum[i - ] - d;
}
t[] = -;
rmq.build(n, sum, -);
LL prefix = start;
int ans = -;
for(int i = ; i <= n; i++) {
if(i) {
if(q[i]) prefix += a;
else prefix -= b;
}
if(prefix < ) break;
int p = lower_bound(t + , t + + n, t[i] + + len) - t - ;
if(p <= i) {
ans = t[i] + ;
break;
} else {
int L = i + , R = p;
LL mn = rmq.query(L, R) - sum[i];
if(prefix + mn >= ) {
ans = t[i] + ;
break;
}
}
}
printf("%d\n", ans);
return ;
} /*
*/
Codeforces 887D Ratings and Reality Shows的更多相关文章
- 444 D. Ratings and Reality Shows
一个模特有两种活动. ① 拍照片,挣钱 a. ②开演唱会,花费b 给定模特这两种工作的时间表. 模特可以选定一个时间举办一个座谈会,那么他拍照片的钱变c.开演唱会会花费d. 要求在模特座谈会之前和后l ...
- SAE J1850 VPW Implement
---恢复内容开始--- OBDII Interface Project When I can ever find enough time away from schoolwork, I try to ...
- 每日英语:Why 'The Voice' Is China's No. 1 TV Show
U.S. fans of the hit talent show 'The Voice' may take for granted that its judges sit with their bac ...
- Wide-range regulator delivers 12V, 3A output from 16 to 100V source
Synchronous buck regulators offer high efficiency and are popular in applications in which available ...
- codeforces C. New Year Ratings Change 解题报告
题目链接:http://codeforces.com/problemset/problem/379/C 题目意思:有n个users,每个user都有自己想升的rating.要解决的问题是给予每个人不同 ...
- Codeforces 1322D - Reality Show(DP)
Codeforces 题面传送门 & 洛谷题面传送门 首先这个消消乐的顺着消的过程看起来有点难受,DP 起来有点困难.考虑对其进行一个转化:将所有出场的人按照攻击力从小到大合并,然后每次将两个 ...
- Codeforces Round #523 (Div. 2) D. TV Shows 模拟(多重集 先把所有区间加入多重集合)+贪心+二分
题意:给出n个电视节目的起始和结束时间 并且租一台电视需要x +y*(b-a) [a,b]为时段 问完整看完电视节目的最小花费是多少 思路:贪心的思想 情况1 如果新租一台电视的花费<=在空 ...
- Codeforces Round #523 (Div. 2) D. TV Shows
传送门 https://www.cnblogs.com/violet-acmer/p/10005351.html 题意: 有n个节目,每个节目都有个开始时间和结束时间. 定义x,y分别为租电视需要的花 ...
- 【codeforces】【Round#523D】TV shows
题意:n个节目,每个节目的播放时间为[li,ri],你需要选择一些电视机全部播放这些节目,一台电视机不能同时播放多个节目,选择一个新的电视机代价为x , 如果某台电视机的使用时间为[Li,Ri]需要付 ...
随机推荐
- bootstrap4简单使用和入门02-bootstrap的js组件简单使用
自带默认的css和js弹框控制 <!DOCTYPE html> <html lang="en"> <head> <meta charset ...
- CSS集锦
div内容自动换行:word-wrap:break-word;word-break:break-all;
- python并发(阻塞、非阻塞、epoll)
在Linux系统中 01 阻塞服务端 特征:1对1,阻塞. import socket server = socket.socket() #生成套接字对象 server.bind(('0.0.0.0' ...
- Flask允许跨域
什么是跨域 在 HTML 中,<a>, <form>, <img>, <script>, <iframe>, <link> 等标 ...
- 无锁编程 - Double-checked Locking
Double-checked Locking,严格意义上来讲不属于无锁范畴,无论什么时候当临界区中的代码仅仅需要加锁一次,同时当其获取锁的时候必须是线程安全的,此时就可以利用 Double-check ...
- 在Winform开发框架中实现对数据库的加密支持(转)
在很多情况下,我们需要对数据库进行加密,特别是Access数据库.Sqlite数据库,这些直接部署在客户端的数据,因为数据也是客户的资产,数据库总是存在很多相关的秘密或者重要的业务数据,所以一般来说, ...
- npm安装依赖包 --save-dev 和 --save; package.json的devDependencies和dependencies 的区别!
以前一直在纠结一个npm安装的包依赖管理的问题.是这样的: 我们在使用npm install 安装模块或插件的时候,有两种命令把他们写入到 package.json 文件里面去,他们是:--save- ...
- 【Linux】添加DNS
1.添加DNS输入命令: vi /etc/resolv.conf 添加一行:nameserver 10.41.132.9 2.查看DNS nslookup 127.0.0.1 | grep Serve ...
- nginx官方模块之http_random_index_module
作用 目录中选择一个随机主页 语法
- mysql 安装问题二:mysqld: Can't create directory 'E:\Software\mysql-5.7.24-winx64\data\' (Errcode: 2 - No such file or directory)
原因:my.ini文件中的basedir(设置mysql的安装目录).datadir(设置mysql数据库的数据的存放目录)与MySQL解压后的路径不一致 解决办法: 将basedir=E:\Soft ...