【SHOI&SXOI2017】bzoj4868 期末考试
来源:互联网 发布:主播助手软件 编辑:程序博客网 时间:2024/05/17 00:08
枚举最后一门考试的结束时间,用前缀和、后缀和统计需要更改的总时间和费用。
好像可以用三分做?
#include<cstdio>#include<algorithm>using namespace std;#define LL long longconst int maxn=100000;int s1[maxn+10],s2[maxn+10],sp[maxn+10],cnt[maxn+10],n,m,l,r;LL w1[maxn+10],w2[maxn+10],wp[maxn+10],a,b,c,now,ans;void solve0(){ int p; for (int i=1;;i++) if (sp[i]) { p=i; break; } if (w1[p]>=w2[p]) printf("%lld\n",a*w2[p]); else printf("%lld\n",a*w1[p]+b*(w2[p]-w1[p]));}int main(){ freopen("exam.in","r",stdin); freopen("exam.out","w",stdout); int x; scanf("%lld%lld%lld%d%d",&a,&b,&c,&n,&m); a=min(a,b); for (int i=1;i<=n;i++) { scanf("%d",&x); sp[x]++; r=max(r,x); } for (int i=1;i<=m;i++) { scanf("%d",&x); cnt[x]++; r=max(r,x); } for (int i=1;i<=r;i++) { sp[i]+=sp[i-1]; s1[i]=s1[i-1]+cnt[i]; wp[i]=wp[i-1]+sp[i-1]; w1[i]=w1[i-1]+s1[i-1]; } for (int i=r;i;i--) { s2[i]=s2[i+1]+cnt[i]; w2[i]=w2[i+1]+s2[i+1]; } if (c>1e12) { solve0(); return 0; } ans=1e15; for (int i=1;i<=r;i++) { now=c*wp[i]; if (w1[i]>=w2[i]) now+=a*w2[i]; else now+=a*w1[i]+b*(w2[i]-w1[i]); ans=min(ans,now); } printf("%lld\n",ans); fclose(stdout);}
0 0
- 【SHOI&SXOI2017】bzoj4868 期末考试
- BZOJ4868 [Shoi2017]期末考试
- [BZOJ4868][Shoi2017]期末考试
- BZOJ4868: [Shoi2017]期末考试
- 【SHOI&SXOI2017】bzoj4873 寿司餐厅
- 【SHOI&SXOI2017】bzoj4870 组合数问题
- 【SHOI&SXOI2017】bzoj4872 分手是祝愿
- 【SHOI&SXOI2017】bzoj4871 摧毁“树状图”
- bzoj4868&&5213jzoj[Shoi2017]期末考试 枚举或三分
- SXOI2017游记
- 期末考试
- 期末考试
- 期末考试
- 期末考试????
- 期末考试
- 期末考试......
- 期末考试
- 期末考试
- initramfs文件系统的制作和移植
- BZOJ4870: [Shoi2017]组合数问题
- C++第五次实验
- tiny6410 通过按键玩中断
- MindManager中如何将思维导图设置为默认模板?
- 【SHOI&SXOI2017】bzoj4868 期末考试
- hive 创建表
- Java多线程关于生产者和消费者
- vim编辑器的简单使用
- HDU
- 项目中ajax请求第二次的乱码问题
- DOM2
- 中国大学生计算机设计大赛报名及作品提交攻略
- Commit failed with error ***remains in conflict 解决android studio svn文件冲突的问题