【BZOJ4868】期末考试(整数三分)
题意:

const oo=<<;
var b,t:array[..]of longint;
n,m,i,l,r,mid,mid1,mid2:longint;
a1,b1,c1,ans,s1,s2:int64; function max(x,y:longint):longint;
begin
if x>y then exit(x);
exit(y);
end; function min(x,y:int64):int64;
begin
if x<y then exit(x);
exit(y);
end; function clac(x:longint):int64;
var i:longint;
s,tmp:int64;
begin
clac:=;
for i:= to n do
if t[i]<x then
begin
if x-t[i]>(oo-clac) div c1 then exit(oo);
clac:=clac+c1*(x-t[i]);
end; s:=;
for i:= to m do
if b[i]<x then s:=s+x-b[i];
for i:= to m do
if b[i]>x then
begin
tmp:=b[i]-x;
if a1<b1 then
begin
if s>=tmp then
begin
clac:=clac+a1*tmp;
s:=s-tmp;
end
else
begin
clac:=clac+a1*s+b1*(tmp-s);
s:=;
end;
end
else clac:=clac+b1*tmp;
end; end; begin
assign(input,'bzoj4868.in'); reset(input);
assign(output,'bzoj4868.out'); rewrite(output);
readln(a1,b1,c1);
readln(n,m);
r:=;
for i:= to n do
begin
read(t[i]);
r:=max(r,t[i]);
end;
for i:= to m do
begin
read(b[i]);
r:=max(r,b[i]);
end;
l:=; ans:=<<;
while l<=r do
begin
mid:=(l+r)>>;
mid1:=(l+mid)>>; mid2:=(mid++r)>>;
s1:=clac(mid1); s2:=clac(mid2);
ans:=min(ans,s1); ans:=min(ans,s2);
if s1<=s2 then r:=mid2-
else l:=mid1+;
end;
writeln(ans); close(input);
close(output);
end.
【BZOJ4868】期末考试(整数三分)的更多相关文章
- 【Luogu】P3745期末考试(三分)
题目链接 我是怎么把“期末考试”在本地写成“假期计划”的 qwq???? 本题把学生和卷子都排个序,按出成绩最晚时间三分. 三分之后可以O(n)的时间统计答案,因为修改卷子出成绩的时间可以贪心计划. ...
- BZOJ4868 [Shoi2017]期末考试 【三分 + 贪心】
题目链接 BZOJ4868 题解 最后的答案决定于最后一个公布的成绩 显然这个是答案关于这个时间点是呈凸单调的 三分一下这个时间点 时间点固定,在这个时间前的人都会产生不愉快度,在这个时间前的科目可以 ...
- BZOJ4868 Shoi2017期末考试(三分+贪心)
容易想到枚举最晚发布成绩的课哪天发布,这样与ti和C有关的贡献固定.每门课要么贡献一些调节次数,要么需要一些调节次数,剩下的算贡献也非常显然.这样就能做到平方级别了. 然后大胆猜想这是一个凸函数三分就 ...
- bzoj4868 期末考试 题解
https://www.lydsy.com/JudgeOnline/problem.php?id=4868 显然我们只关注最后出分的学科. 刚开始想的是dp,然而不知道如何记录状态. 突然就想到了正解 ...
- [BZOJ4868][六省联考2017]期末考试(三分)
4868: [Shoi2017]期末考试 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 964 Solved: 439[Submit][Status ...
- 【BZOJ4868】期末考试 [三分][贪心]
期末考试 Time Limit: 20 Sec Memory Limit: 512 MB[Submit][Status][Discuss] Description Input Output Samp ...
- [bzoj4868][Shoi2017]期末考试
来自FallDream 的博客,未经允许,请勿转载,谢谢. 有n位同学,每位同学都参加了全部的m门课程的期末考试,都在焦急的等待成绩的公布.第i位同学希望在第ti天或之前得知所.有.课程的成绩.如果在 ...
- 【BZOJ4868】[六省联考2017]期末考试(贪心)
[BZOJ4868][六省联考2017]期末考试(贪心) 题面 BZOJ 洛谷 题解 显然最终的答案之和最后一个公布成绩的课程相关. 枚举最后一天的日期,那么维护一下前面有多少天可以向后移,后面总共需 ...
- BZOJ4868:[SHOI2017]期末考试——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=4868 题目复制于洛谷:https://www.luogu.org/problemnew/show/P ...
随机推荐
- lock to deteck in oracle
0,5,10 0-23 * * * /home/oracle/utility/blocker/detect_blocker.sh db 120 > /home/oracle/utility/tr ...
- css中border制作各种形状
css利用border制作各种形状的原理如图: 使用border绘制三角形是什么原理?事实上,宽度相等的border是以45度对接的,如下图: 没有了上border如图所示: 再设置border的宽度 ...
- vue2.0 路由传参(router-link传过去)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- xamarin.forms 绑定页面里指定元素的某个属性值
{Binding Source={x:Reference elementName}, Path=BindingContext.propertyname, Mode=OneWay} elementNam ...
- CAD绘制固定圆形云线标注(网页吧)
js中实现代码说明: function DoCloudCircleCommentFix() { var comment = mxOcx.NewEntity("IMxDrawComment&q ...
- numpy调试
x1 = np.arange(9.0) 结果就是: array([ 0., 1., 2., 3., 4., 5., 6., 7., 8.]) 拿这个来初始化进行调试
- Mysql使用导出导入数据库
要在两台不同的电脑上进行开发,数据库需要统一,由于自己第一次完整的设计表结构,因此多次更改表结构,造成了很多不必要的麻烦, 需要将数据库导出成sql脚本: 命令行下具体用法如下: mysqldump ...
- mvc core 中使用 redis
redis 下载安装路径: https://github.com/MicrosoftArchive/redis/releases 右键打开cmd命令行,运行命令: .\redis-server.e ...
- hdfs深入:10、hdfs的javaAPI操作
/** * 递归遍历hdfs中所有的文件路径 */ @Test public void getAllHdfsFilePath() throws URISyntaxException, IOExcept ...
- DataRow复制一行到另一个DataTable
DataRow复制一行到另一个DataTable 下面两个方法是DataRow复制一行到另一个DataTable的,直接Add会出错“此行已属于另一个表”,其实以前就知道怎么做的,可每次要用到的时 ...