Code:

#include <bits/stdc++.h>
#define setIO(s) freopen(s".in","r",stdin), freopen(s".out","w",stdout)
#define maxn 1000000
#define ll long long
#define lson (now<<1)
#define rson ((now<<1)|1)
using namespace std;
int n,m;
ll k,d;
ll sum[maxn<<2],lmx[maxn<<2],rmx[maxn<<2],mx[maxn<<2];
void pushup(int l,int r,int now) {
int mid=(l+r)>>1,ls=lson,rs=(r>mid)?rson:0;
sum[now]=sum[ls]+sum[rs];
lmx[now]=max(lmx[ls],sum[ls]+lmx[rs]);
rmx[now]=max(rmx[rs],sum[rs]+rmx[ls]);
mx[now]=rmx[ls]+lmx[rs];
mx[now]=max(mx[now], max(mx[ls], mx[rs]));
}
void build(int l,int r,int now) {
if(l==r) {
sum[now]=-k;
return ;
}
int mid=(l+r)>>1;
build(l,mid,lson);
if(r>mid) build(mid+1,r,rson);
pushup(l,r,now);
}
void update(int l,int r,int now,int x,ll v) {
if(l==r) {
sum[now]+=v;
lmx[now]=rmx[now]=mx[now]=max(0ll, sum[now]);
return;
}
int mid=(l+r)>>1;
if(x<=mid) update(l,mid,lson,x,v);
else update(mid+1,r,rson,x,v);
pushup(l,r,now);
}
int main() {
// setIO("input");
scanf("%d%d%lld%lld",&n,&m,&k,&d);
build(1,n,1);
for(int i=1;i<=m;++i) {
int r;
ll x;
scanf("%d%lld",&r,&x);
update(1,n,1,r,x);
if(mx[1] > k*d) printf("NIE\n");
else printf("TAK\n");
}
return 0;
}

  

最新文章

  1. .cn根服务器被攻击之后
  2. thinkphp发送邮件
  3. 《javascript高级程序设计》第21章 Ajax和Comet
  4. 无可匹敌的创建job(细化很多细节)
  5. 试着开发chrome插件
  6. Android CTS 结果 testResult.xml 修改 fail 项 为 notExecuted 项 分析
  7. Cocos2d-x 2地图步行实现:SPFA算法
  8. 华为云(ECS)-linux服务器中-Ubuntu图形界面安装-解决root登录受限-VNCviwer/Teamviwer远程访问教程
  9. 简述ADO.NET(一)
  10. python绘制中文词云图
  11. idea去掉无效引用
  12. 深入浅出JavaScript(一)
  13. HTTP请求/响应报文结构
  14. Objective-C的泛型
  15. ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN
  16. gulpjs的使用介绍及技巧
  17. windows 2008 r2 安装 owas 2013
  18. vue2.0实现一个模态弹框,内容自定义(使用slot)
  19. django学习笔记【004】创建带有model的app
  20. Leetcode 516.最长回文子序列

热门文章

  1. 3D打印技术的学习
  2. 应用安全 - Java Web 应用 - Confluence - 漏洞汇总
  3. CentOS7 NAT配置
  4. 在centos6.4下安装python3.5
  5. Python数据基础类型-新建列表
  6. 什么场景下用redis而不用mysql?
  7. 权限控制(vue)
  8. Paper Reading_Database
  9. 关于websocket 在生产环境中遇到的问题 及 解决办法
  10. quartz的学习和简单使用