Content

一场比赛有 \(n\) 道题目,其中第 \(i\) 道题目的分值为 \(p_i\),需要花费的时间为 \(t_i\)。需要说明的是,\(t_i\) 越大,这道题目的难度越大。在第 \(x\) 分钟交上第 \(i\) 道题目可获得的分数是 \(\max(0,p_i-c\times x)\)。

有两个人要参加这场比赛,但他们有不同的策略:第一个人会按照从易到难的顺序做题,第二个人会按照从难到易的顺序做题。请求出谁将会这场比赛的赢家,或者他们两个打成平手。

数据范围:\(1\leqslant n\leqslant 50,1\leqslant c\leqslant 1000,1\leqslant p_i,t_i\leqslant 1000,p_i\leqslant p_{i+1},t_i\leqslant t_{i+1}\)。

Solution

由于这道题目良心的数据范围,这题目甚至连排序都不要,简单的模拟一下就好了。除了之前要预先处理一下 \(t_i\) 的前缀和和后缀和之外,其他的都很简单。

Code

#include <cstdio>
#include <algorithm>
using namespace std; int n, c, ssheng[57], sjiang[57], sum1, sum2;
struct problem {int p, t;}a[57]; int main() {
scanf("%d%d", &n, &c);
for(int i = 1; i <= n; ++i) scanf("%d", &a[i].p);
for(int i = 1; i <= n; ++i) scanf("%d", &a[i].t);
for(int i = 1; i <= n; ++i) ssheng[i] = ssheng[i - 1] + a[i].t, sum1 += max(0, a[i].p - c * ssheng[i]);
for(int i = n; i >= 1; --i) sjiang[i] = sjiang[i + 1] + a[i].t, sum2 += max(0, a[i].p - c * sjiang[i]);
if(sum1 > sum2) printf("Limak");
else if(sum1 < sum2) printf("Radewoosh");
else printf("Tie");
return 0;
}

CF658A Bear and Reverse Radewoosh 题解的更多相关文章

  1. VK Cup 2016 - Round 1 (Div. 2 Edition) A. Bear and Reverse Radewoosh 水题

    A. Bear and Reverse Radewoosh 题目连接: http://www.codeforces.com/contest/658/problem/A Description Lima ...

  2. VK Cup 2016 - Round 1 (Div. 2 Edition) A Bear and Reverse Radewoosh

    A. Bear and Reverse Radewoosh time limit per test 2 seconds memory limit per test 256 megabytes inpu ...

  3. codeforces 658A A. Bear and Reverse Radewoosh(水题)

    题目链接: A. Bear and Reverse Radewoosh time limit per test 2 seconds memory limit per test 256 megabyte ...

  4. 第六周周赛——AK机会不易得,好好把握题解(出自HDU5650,codeforces 616A,624A,659A,655A,658A)

    A题: A题题目链接 题目描写叙述: 位运算 TimeLimit:1000MS  MemoryLimit:65536KB 64-bit integer IO format:%I64d Problem ...

  5. CF643E. Bear and Destroying Subtrees 期望dp

    题目链接 CF643E. Bear and Destroying Subtrees 题解 dp[i][j]表示以i为根的子树中,树高小于等于j的概率 转移就是dp[i][j] = 0.5 + 0.5 ...

  6. LeetCode编程训练 - 位运算(Bit Manipulation)

    位运算基础 说到与(&).或(|).非(~).异或(^).位移等位运算,就得说到位运算的各种奇淫巧技,下面分运算符说明. 1. 与(&) 计算式 a&b,a.b各位中同为 1 ...

  7. ISCC2014-reverse

    这是我做reverse的题解.在咱逆向之路上的mark一下,,水平有限,大牛见笑. 题目及题解链接:http://pan.baidu.com/s/1gd3k2RL 宗女齐姜 果然是仅仅有50分的难度, ...

  8. 算法与数据结构基础 - 排序(Sort)

    排序基础 排序方法分两大类,一类是比较排序,快速排序(Quick Sort).归并排序(Merge Sort).插入排序(Insertion Sort).选择排序(Selection Sort).希尔 ...

  9. 算法与数据结构基础 - 位运算(Bit Manipulation)

    位运算基础 说到与(&).或(|).非(~).异或(^).位移等位运算,就得说到位运算的各种奇淫巧技,下面分运算符说明. 1. 与(&) 计算式 a&b,a.b各位中同为 1 ...

随机推荐

  1. 一文带你吃透CLR垃圾回收机制

    前言 今天我们来共同学习一下CLR的垃圾回收机制,这对我们写出健壮性的代码很有帮助,也许有人会认为多此一举,认为垃圾回收交给CLR就行,我不用关心这个,诚然,大多数情况下是这样的,但是,我们今天讨论的 ...

  2. Go Micro Dashboard - 简介

    前言 使用Go Micro开发微服务系统很久了,但是一直没有很好的可视化工具用于开发和监控微服务系统. 所以基于go-micro和ng-alain开发了Go Micro Dashboard,目前已经支 ...

  3. electron另一种运行方式

    编写helloword 全局安装软件  npm install -g electron 快速编写html  html:5 完整代码和流程: 1.index.html  <!DOCTYPE htm ...

  4. 关于前端项目cookie的获取

    最近项目在做切换,2.0要升级到3.0,遇到跨域问题,使用的是nginx 进行对端口拦截请求其他地址,另外有的服务还要登录权限,之前没看到有这个,后来加上获取cookie的请求 var v3_toke ...

  5. Python画一个四点连线并计算首尾距离

    import turtle import math #先定义4个坐标 x1,y1=100,100 x2,y2=100,-100 x3,y3=-100,-100 x4,y4=-100,100   #然后 ...

  6. Java计算器的简易实现(+-*/)

    java计算器的简易实现(+-*/) import java.util.Scanner; /* 写一个计算器 实现加减乘除四个功能 并且能够用循环接收新的数据,通过用户交互实现 写四个方法 + - * ...

  7. 联盛德 HLK-W806 (三): 免按键自动下载和复位

    目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...

  8. java 单例模式实现代码

    目录 1.使用静态内部类实现 2.使用枚举实现 3.序列化与反序列化 1.使用静态内部类实现 使用静态内部类实现单例模式,线程安全 class SingletonStaticInner { priva ...

  9. [Noip 2012]同余方程(线性同余方程)

    我们先放题面-- RT就是求一个线性同余方程ax≡1(mod b)的最小正整数解 我们可以将这个同于方程转换成这个方程比较好理解 ax=1+bn(n为整数 我们再进行一个移项变为ax-bn=1 我们设 ...

  10. python飞机大战

    '''新手刚学python,仿着老师敲的代码.1.敌方飞机只能左右徘徊(不会往下跑)并且不会发射子弹.2.正在研究怎么写计分.3.也参考了不少大佬的代码,但也仅仅只是参考了.加油!''' import ...