CF1111C Creative Snap 线段树
2024-08-24 20:00:29
用线段树模拟一下就好了~
code:
#include <cstdio>
#include <algorithm>
#define lson ls[x]
#define rson rs[x]
#define N 10000006
#define ll long long
#define setIO(s) freopen(s".in","r",stdin)
using namespace std;
ll A,B;
int n,k,tot;
int ls[N],rs[N],sum[N];
void update(int &x,int l,int r,int p)
{
if(!x) x=++tot;
++sum[x];
if(l==r) return;
int mid=(l+r)>>1;
if(p<=mid) update(lson,l,mid,p);
else update(rson,mid+1,r,p);
}
ll query(int x,int l,int r)
{
if(!x) return A;
if(l==r) return B*sum[x];
int mid=(l+r)>>1;
ll re=B*1ll*(r-l+1)*sum[x];
return min(re,query(lson,l,mid)+query(rson,mid+1,r));
}
int main()
{
// setIO("input");
int i,j,bs=1,rt=0;
scanf("%d%d%lld%lld",&n,&k,&A,&B);
for(i=1;i<=n;++i) bs<<=1;
for(i=1;i<=k;++i)
{
int po;
scanf("%d",&po),update(rt,1,bs,po);
}
printf("%lld\n",query(rt,1,bs));
return 0;
}
最新文章
- 验证码类库CaptchaMvc
- 又一种XML的解析方法
- UIPage
- 详解 CSS 属性 - :before &;&; :after
- jboss 7部署cas3.4.11
- Android 根据屏幕分辨率自动调整字体大小
- 开心菜鸟系列学习笔记------javascript(5)
- mysql 行锁排查
- ActiveMQ in Action(5) - Clustering
- ioc(Inversion of Control)控制反转和DI
- 自动化测试工具selenium的使用
- ABP给WebApi添加SwaggerUI,生成可交互接口文档
- 三极管(如NPN)集电极正偏 发射极反偏会怎么样呢? 电流会倒流吗? 其他三种都知道,就是不知道这种情况
- angular $index获取ng-repeat的上一条数据
- 《Linux内核原理与分析》第三周作业
- CentOS6.7下Ansible部署
- 使用 vmstat, mpstat 和 sar 查看系统运行参数
- testNG 学习笔记 Day 1 使用功能详解
- sql server触发器复制记录
- Ubuntu14.4下安装FTP