牛客竞赛(CSP高级组) 信息学奥赛 950J 钓鱼(详细答案及简析)
950J 钓鱼
跟着小白一起敲代码,每日一分享(JN)
链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld
题目描述
在一条水平路边,有n个钓鱼湖,从左到右编号为1,2,…,n。佳佳有H个小时的空余时间,他希望利用这个时间钓到更多的鱼。他从1出发,向右走,有选择的在一些湖边停留一定的时间(是5分钟的倍数)钓鱼。最后在某一个湖边结束钓鱼。佳佳从第i个湖到第i+1个湖需要走5×Ti5\times T_i5×Ti分钟路,还测出在第i个湖停留,第一个5分钟可以钓到FiF_iFi条鱼,以后每再钓5分钟,可以钓到的鱼量减少DiD_iDi,若减少后的鱼量小于0,则减少后的鱼量为0。为了简化问题,佳佳假定没有其他人钓鱼,也没有其他因素影响他钓到期望数量的鱼。请编程求出佳佳最多能钓鱼的数量。
输入描述:
第一行一个整数n,表示湖的个数
第二行一个整数H,表示佳佳的空闲时间
第三行有n个整数,依次表示每个湖第一个5分钟能钓到鱼的数量
第四行有n个整数,依次表示以后的每5分钟钓鱼数量比前一个5分钟钓鱼数量减少的数量
第五行有n-1个整数,TiT_iTi表示由第i个湖到第i+1个湖需要花5×Ti5 \times T_i5×Ti分钟的路程
输出描述:
输出只有一行,表示佳佳最多能钓鱼的数量。
示例1
输入
复制3 1 4 5 6 1 2 1 1 2
3 1 4 5 6 1 2 1 1 2
输出
复制35
35
说明
在第1个湖钓15分钟,共钓得4+3+2=9条鱼; 在第2个湖钓10分钟,共钓得5+3=8条鱼; 在第3个湖钓20分钟,共钓得6+5+4+3=18条鱼; 从第1个湖到第2个湖,从第2个湖到第3个湖,共用时间15分钟,共得35条鱼,并且这是最多的数量。
备注:
对于100%的数据,2≤n≤100,1≤H≤201;
题目分析:
该题与糖果传递相比,较简单,只用的贪心算法,不需要数学的推导。然后有想练习贪心算法的话可以试着做做这个题,算基础题吧。(但是找bug找了我一个小时,哭了,以后一定认真一点点的敲代码)
完整代码:
#include<iostream>
#include<cstdio>
#include<sstream>
using namespace std;
int main()
{int n;int h;int kk=0;int max=0;int sumt=0;int sum=0;int maxf=0;cin>>n>>h;int f[n];int ff[n];for(int i=0;i<n;i++)cin>>f[i];int d[n];for(int i=0;i<n;i++)cin>>d[i];int t[n-1];for(int i=0;i<n-1;i++)cin>>t[i];for(int i=0;i<n;i++){for(int ii=0;ii<n;ii++){ff[ii]=f[ii];}sum=0;if(i==0)sumt=0;elsesumt=sumt+t[i-1];if(5*sumt<60*h){int ret=(60*h-5*sumt)/5;for(int j=0;j<ret;j++){maxf=0;kk=0;for(int k=0;k<=i;k++)if(ff[k]>maxf){maxf=ff[k];kk=k;}sum=sum+maxf;
// cout<<f[kk]<<" ";//调试ff[kk]=maxf-d[kk];}}
// cout<<sum<<" ";if(sum>max)max=sum;}cout<<max;return 0;}
有问题可提问,纯手工~
跟着小白一起敲代码,每日一分享(JN)
牛客竞赛(CSP高级组) 信息学奥赛 950J 钓鱼(详细答案及简析)相关推荐
- 项链(牛客竞赛2020-普及组第四场-T4)
项链(牛客竞赛2020-普及组第四场-T4) 题目 原题链接 样例 输入1 4 3 4 3 -2 1 1 2 2 3 3 4 输出1 7 1 说明1 第一组样例,最优路径为1→2→3→41 \to 2 ...
- 牛客竞赛(CSP高级组) 信息学奥赛 950K 糖果传递(详细答案及简析)
950K 糖果传递 题目描述 有n个小朋友坐成一圈,每人有aia_iai颗糖果.每人只能给左右两人传递糖果.每人每次传递一颗糖果的代价为1.求使所有人获得均等糖果的最小代价. 输入描述: 第一行有一 ...
- 牛客竞赛语法入门班数组栈、队列和stl习题
牛客竞赛语法入门班数组栈.队列和stl习题 L 指纹锁 set ,自带排序功能 可重写排序函数 cmp,注意外边写的要写成 operator()operator()operator(),结构体内部的排 ...
- 牛客竞赛:第三届超越杯程序设计团体赛题解
比赛链接:第三届超越杯程序设计团体赛重现赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJhttps://www.nowcoder.com/acm/contest/313 ...
- 牛客竞赛14346凌波微步题解
牛客竞赛14346凌波微步题解 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 一.题目描述 小Z的体型 ...
- 牛客竞赛语法入门班顺序结构习题C++版本参考代码及部分解析
牛客竞赛语法入门班顺序结构习题 C语言版本的参考代码 重点题: 1005 乘法表 1006 KiKi学程序设计基础 1017 水题再次来袭:明天星期几? 1018 开学? 1019 helloworl ...
- 【python】牛客竞赛语法入门班顺序结构习题 python解法
题目链接:牛客竞赛语法入门班顺序结构习题_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ 目录 1001 这是一道签到题 1002 排列式 1003 小飞机 1004 学 ...
- 牛客题霸 [子数组最大乘积] C++题解/答案
牛客题霸 [子数组最大乘积] C++题解/答案 题目描述 给定一个double类型的数组arr,其中的元素可正可负可0,返回子数组累乘的最大乘积. 题解: 同时记录最大值和最小值,为什么?因为给的元素 ...
- 牛客题霸 [子数组的最大累加和问题] C++题解/答案
牛客题霸 [子数组的最大累加和问题] C++题解/答案 题目描述 给定一个数组arr,返回子数组的最大累加和 例如,arr = [1, -2, 3, 5, -2, 6, -1],所有子数组中,[3, ...
最新文章
- 安装tensorflow-gpu==1.13.1成功案例
- windows7、windows 2008和windows 2008 R2 的系统封装介绍
- JNI编译时错误 编码GBK的不可映射字符 解决方法
- 分布式任务队列 Celery — Overview
- php登录注册连接数据库,利用PHP连接数据库——实现用户登录注册功能以及管理员对用户注...
- Tomcat和Resin有什么区别,工作中你怎么选择?
- ubuntu下安装并配置VIM编辑器
- python不定长参数详解
- SAP Spartacus B2B Org Unit树状结构的ghost数据
- 文件查找工具everything的下载使用
- 使用 docker 部署 mdnice
- 从此明白了卷积神经网络(CNN)
- android shape 圆角百分比,Android shape显示圆角问题
- python私人定制_手把手教你学python第十五讲(魔法方法续私人“定制”)
- Linux centos开机执行JAR Shell脚本
- 一加8系列新机有望亮相CES 2020:全系支持5G网络
- 多线程的那点儿事(之windows锁)
- mysql下载的压缩包_教你安装Mysql(解压版/非安装包)图文教程
- [linux]redhat7.6 安装telnet
- 吐槽下CSDN编辑器
热门文章
- highlight.js代码高亮后把空格替换成了无间断空格U+00A0
- R语言使用ggplot2可视化贝塞尔曲线:基于经验数据可视化贝塞尔曲线(Curved Bézier lines with empirical data)、使用curve_intersect函数计算曲线
- 古诗词取名小工具2.0-已开源
- MVC 网上花店销售系统的设计与实现java jsp 程序设计 课程设计 毕业设计-附源码02140
- 初学者学python下载哪个版本最好?
- P1114 “非常男女”计划(相对差,前缀和,剪枝)
- 公众号自定义菜单开发
- UltraEdit v26(补丁工具)
- 实训作业2-光敏电阻,人体感应灯
- 经验:数据库中性别、状态、字典使用什么字段?