Time of Trial(思维)

题目大意:一个人想逃,一个人要阻止那个人逃跑 ,阻止者念每一个符咒的时间为b[i],逃跑者念每一个符咒的时间为a[i],逃跑者如果念完了第i个符咒,阻止者还没有念完或者刚好念完这第i个符咒,此时逃跑者就可以逃跑了。(每个人都不知道对方在念哪一个符咒)

队友给讲的解题思路首先可以想到的是逃跑者用时最短念完的符咒是最危险的(他可能很快念完然后离开了),所以想到要先阻止对方耗时最少的,次少的,,,,最多的; 但是假如有可能你(阻止者)在念他用时最少的符咒,并且你的时间比他少,把这个符咒锁住了,他逃不了,可是如果他根本没念这个,他念的是别的,当你念完最少(或其他的)来念这个时,他用时较少已经念完他就可以逃跑了。可以发现你根本猜不了,所以你要找一个特定的念符咒的顺序,只要这个顺序可以把所有情况都阻止,那他就逃不了了。那么回到思考的最开始,我们依旧是从逃跑者耗时最少的开始,次少的,,,,以此念下去,把逃跑者当成一开始就在念第i个,我们算按我们的顺序到念完第i个点的时间是否比逃跑者少,如果是就可以阻止他从这个点离开,如果每一个点按我们的顺序都能阻止成功,那么就阻止成功了,一旦有一个没有阻止成功,逃跑者就可以逃跑

AC_Code

  #include <iostream>
#include <cstdio>
#include <cstring>
#include <ctime>
#include <cmath>
#include <algorithm>
using namespace std;
typedef long long ll;
const int maxn=1e5+;
ll n;
struct node
{
ll a;
ll b;
}s[maxn]; bool cmp(struct node x, struct node y)
{
return x.a<y.a;
} int main()
{
ll i,sum=,flag=;
scanf("%lld",&n);
for(i=;i<n;i++)
{
scanf("%lld",&s[i].a);
}
for(i=;i<n;i++)
{
scanf("%lld",&s[i].b);
} sort(s,s+n,cmp); for(i=;i<n;i++)
{
sum += s[i].b;
if( sum<s[i].a )
{
flag++;
}
}
if( flag==n ) printf("Dire victory\n");
else printf("Redemption\n"); return ;
}

Time of Trial的更多相关文章

  1. Visual Studio 2012 trial version

    Update: vs2012.5.iso http://download.microsoft.com/download/9/F/1/9F1DEA0F-97CC-4CC4-9B4D-0DB45B8261 ...

  2. myeclipse trial expired[转]

    转自:http://blog.csdn.net/yuyuyuyuy/article/details/5878122 今天MyEclipse提示过期了,MyEclipse Trial Expired. ...

  3. (转)软件版本中的Alpha,Beta,RC,Trial是什么意思?

    版本号:V(Version):即版本,通常用数字表示版本号.(如:EVEREST Ultimate v4.20.1188 Beta )Build:用数字或日期标示版本号的一种方式.(如:VeryCD ...

  4. 软件版本中的Alpha,Beta,RC,Trial是什么意思?

    版本号: V(Version):即版本,通常用数字表示版本号.(如:EVEREST Ultimate v4.20.1188 Beta ) Build:用数字或日期标示版本号的一种方式.(如:VeryC ...

  5. BAYESIAN STATISTICS AND CLINICAL TRIAL CONCLUSIONS: WHY THE OPTIMSE STUDY SHOULD BE CONSIDERED POSITIVE(转)

    Statistical approaches to randomised controlled trial analysis The statistical approach used in the ...

  6. PLSQL过期:Your trial period for PL/SQL Developer is over .If you want to continue using this software ,you must purchase the retail version.

    PLSQL过期:Your trial period for PL/SQL Developer is over .If you want to continue using this software ...

  7. Remove menucool tooltip trial version

    You use this crack on your own risk , i dont reserve any right on this script or what is going to af ...

  8. java.lang.RuntimeException: JPedal Trial has now expired

    具体提示: java.lang.RuntimeException: JPedal Trial has now expired jpedal-server-trial.jar jar包过期了,jpeda ...

  9. DNGuard HVM Unpacker(3.71 trial support and x64 fixed)

    DNGuard HVM Unpacker(3.71 trial support and x64 fixed) Gr8 news. Finally got the x64 crash fixed. DN ...

随机推荐

  1. IEnumerable,ICollection,IList,List的使用

    做C#的都知道:一类只能有一个继承类,但可以实现多个接口.这句话就告诉我们:IEnumerable,ICollection,IList,List区别了 首先我看看 IEnumerable:   // ...

  2. python-tyoira基本

    目录 .Typora安装 我们在之前的时候记录笔记就是使用word和记事本,但是从今天开始我们要更换软件,记录笔记使用Typora软件,为什么要使用Typora的软件呢,是因为我们程序员不只是写代码这 ...

  3. 重启Kubernetes Pod的几种方式

    方法1 kubectl scale deployment XXXX --replicas=0 -n {namespace} kubectl scale deployment XXXX --replic ...

  4. 【知识点整理】Oracle中NOLOGGING、APPEND、ARCHIVE和PARALLEL下,REDO、UNDO和执行速度的比较

    [知识点整理]Oracle中NOLOGGING.APPEND.ARCHIVE和PARALLEL下,REDO.UNDO和执行速度的比较 1  BLOG文档结构图 2  前言部分 2.1  导读和注意事项 ...

  5. Web渗透

  6. 自定义View(一),初识自定义View

    看了无数资料,总结一下自定义View 先明白一个自定义View的三大流程 onMeasure() 测量,决定View的大小 onLayout() 布局,决定View在ViewGroup中的位置 onD ...

  7. Mysql InnoDB行锁不使用索引锁表的时候会锁整张表

    原文:http://www.thinkphp.cn/topic/41577.html 如果使用针对InnoDB的表使用行锁,被锁定字段不是主键,也没有针对它建立索引的话.行锁锁定的也是整张表.锁整张表 ...

  8. Windows 将FTP 映射到本地文件夹 --简化操作

    转载自yutiantongbu Windows 将FTP 映射到本地文件夹 --简化操作 1.右键我的电脑,选择映射网络驱动器 2.选择"连接到可用与存储文档和图片的网站" 3.接 ...

  9. Docker 基本操作(附 redis、nginx部署)

    下载安装 Docker 也有一个月了.中间看过几次也没有深入的了解研究.就只是拉取了两个镜像简单的看了看. 昨天因一个项目中需要用到 Redis ,因为是 Windows 系统,看了下安装包比较老了有 ...

  10. Python开发笔记之-浮点数传输

    操作系统 : CentOS7.3.1611_x64 gcc版本 :4.8.5 Python 版本 : 2.7.5 思路如下 : 1.将浮点数a通过内存拷贝,赋值给相同字节的整型数据b: 2.将b转换为 ...