模拟。

情况有点多,需要仔细。另外感觉题目的$tf$有点不太对......而且数据水了。

$0$ $5$ $2$

$2$

$0$ $5$

这组数据按照题意的话答案可以是$2$和$4$,但是好多错的答案能$AC$。

#pragma comment(linker, "/STACK:1024000000,1024000000")
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<vector>
#include<map>
#include<set>
#include<queue>
#include<stack>
#include<ctime>
#include<iostream>
using namespace std;
typedef long long LL;
const double pi=acos(-1.0);
void File()
{
freopen("D:\\in.txt","r",stdin);
freopen("D:\\out.txt","w",stdout);
}
template <class T>
inline void read(T &x)
{
char c = getchar();
x = ;
while(!isdigit(c)) c = getchar();
while(isdigit(c))
{
x = x * + c - '';
c = getchar();
}
} LL INF=0x7FFFFFFF;
LL ts,tf,t;
int n;
LL s[]; int main()
{
INF=INF*INF; INF=INF*; scanf("%lld%lld%lld",&ts,&tf,&t);
scanf("%d",&n);
for(int i=;i<=n;i++) scanf("%lld",&s[i]); if(n==)
{
printf("%lld\n",ts);
return ;
} if(s[]>ts)
{
printf("%lld\n",ts);
return ;
} LL need=INF,idx=-,last=ts,tmp; last=max(last,s[])+t;
for(int i=;i<=n;i++)
{
if(s[i]==s[i-])
{
last=max(last,s[i])+t;
continue;
}
if(s[i-]<=tf)
{
tmp=last+t;
if(tmp<=tf&&tmp-s[i-]<need) idx=s[i-],need=tmp-s[i-];
}
if(s[i]-<=tf)
{
tmp=max(s[i]-,last)+t;
if(tmp<=tf&&tmp-(s[i]-)<need) idx=s[i]-,need=tmp-(s[i]-);
}
if(last>=s[i-]&&last<s[i])
{
tmp=last+t;
if(tmp<=tf&&tmp-last<need) idx=last,need=tmp-last;
} last=max(last,s[i])+t;
} if(s[]!=)
{
tmp=ts+t;
if(<=tf)
{
if(tmp<=tf&&tmp-<need) idx=,need=tmp-;
}
tmp=max(s[]-,ts)+t;
if(s[]-<=tf)
{
if(tmp<=tf&&tmp-(s[]-)<need) idx=s[]-,need=tmp-(s[]-);
}
} tmp=last+t;
if(s[n]<=tf)
{
if(tmp<=tf&&tmp-s[n]<need) idx=s[n],need=tmp-s[n];
}
if(last<=tf)
{
if(tmp<=tf&&tmp-last<need) idx=last,need=tmp-last;
} printf("%lld\n",idx); return ;
}

最新文章

  1. android——自定义listView
  2. 2013 duilib入门简明教程 -- 部分bug (11)
  3. 分布式服务框架dubbo原理解析(转)
  4. Java并发编程核心方法与框架-exchanger的使用
  5. iOS学习-----真机测试过程
  6. WCF 超时情形
  7. vsftp 用无法登陆的用户名登陆(也叫虚拟用户)并进入到自己的文件夹test
  8. C语言培训第一天
  9. js压缩反压缩
  10. Linux makefile教程之总述二[转]
  11. magento产品eav笔记【持续跟新...】
  12. Maven 打包到Tomcat下
  13. Google 开源项目的风格指南
  14. Mybatis oracle多表联合查询分页数据重复的问题
  15. python3 不知文件编码情况下打开文件代码记录
  16. 喵哈哈村的魔法考试 Round #19 (Div.2) 题解
  17. Linux基础命令---添加用户useradd
  18. WIFI_认证加密学习_STA_AP_WDS
  19. quartz 定时任务的增删改
  20. SQL——快速定位相关的外键表

热门文章

  1. [洛谷P1338] 末日的传说
  2. svn全备加强版
  3. 【CSS】凹槽的写法
  4. 多表数据转化器MTDC
  5. cuda中的二分查找
  6. AJAX 核心 —— XMLHTTPRequest 对象回顾
  7. 【uva11613】生产销售规划
  8. Mac iphone 使用 如何修改apple 用户名 XXX的mac Mac 与iphone如何连接 传递文件 为iphone增加铃声 iphone铃声的制作---城
  9. vue做购物车
  10. java.lang.ClassCastException: org.springframework.web.filter.CharacterEncodingFilter cannot be cast