母鸡下蛋
来源:互联网 发布:贵州广电网络官网 编辑:程序博客网 时间:2024/05/02 05:40
题目:
题目描述
鸡国中的母鸡最擅长下蛋了,MGMG 是鸡国中一只以下蛋产量高而闻名全鸡国的母鸡。
鸡国专供下蛋的 n 个鸡窝呈一字排列在鸡国的“下蛋中心”,从左到右依次编号为 1 到n。每个鸡窝都有一个最大可下蛋的量,其中第 i 个鸡窝的最大可下蛋量为 ci 。有时候由于MGMG 产量实在太大而无法在一个鸡窝中下完所有的蛋,不得不转移到隔壁的鸡窝继续下蛋,如果隔壁的鸡窝还是不能让它下完所有的蛋,则 MGMG 继续转移,直到下完所有的蛋,或者向“下蛋中心”管理员投诉“鸡窝数量实在太少了,我一只鸡的下蛋量都装不下!”。
为了节省转移时所耗费的体力,请你编程帮助 MGMG 找若干个连续的鸡窝(个数尽量少),让它能下完所有的蛋。
输入
输入共 2 行。
第 1 行输入两个整数 n 和 t,表示“下蛋中心”有 n 个可供下蛋的鸡窝,MGMG 一次总共要下 t 个鸡蛋。
第 2 行 n 个正整数 ci (1≤i≤n),依次表示第 i 个鸡窝最大可下蛋量为 ci 个。
输出
输出 1 行一个整数或一个单词。当输出整数时表示让 MGMG 下完所有的蛋至少需要几个连续的鸡窝。当 MGMG 用完所有的鸡窝都无法下完所有的蛋时,MGMG 表示非常愤怒,输出单词“Angry”(不包含双引号,注意大小写)。
样例输入
5 41 2 1 2 3
样例输出
2
链接:
http://exam.upc.edu.cn/problem.php?id=3636
思路:
裸尺取法,没有给数据范围表示很坑。
实现:
//// main.cpp// L//// Created by LucienShui on 2017/7/24.// Copyright © 2017年 LucienShui. All rights reserved.//#include <bits/stdc++.h>#define edl '\n'using namespace std;int main (int argc, char* argv[]) {#ifndef ONLINE_JUDGE freopen("in.txt","r",stdin);#endif ios_base::sync_with_stdio(false); cin.tie(nullptr); int n,t,tmp,result{}; cin >> n >> t; vector<int> vec; for(int i=0 ; i<n ; i++) { cin >> tmp; result += tmp; vec.push_back(tmp); } if(result<t) { cout << "Angry" << edl; } else { result = n; tmp = 0; int l{},r{}; while (true) { while(r < n && tmp < t) tmp += vec[r++]; if(tmp < t) break; result = min(r-l,result); tmp -= vec[l++]; } cout << result << edl; } return 0;}
阅读全文
0 0
- 母鸡下蛋
- 母鸡下蛋
- 母鸡下蛋
- 母鸡下蛋
- 母鸡下蛋
- 母鸡下蛋
- 中石油暑假集训 母鸡下蛋
- 高薪诚聘不吃食能下蛋的老母鸡!?
- 吃了一个好吃的鸡蛋,便想认识这个下蛋的母鸡
- 宁波市第32届中小学生程序设计竞赛(初中组) 母鸡下蛋
- 下蛋中。。。
- Gmail下蛋啦!谁要?
- 案例:下蛋网
- “公鸡下蛋”的科技
- 【JZOJ5167】下蛋爷
- 母鸡与燕子
- 两只母鸡
- 公鸡母鸡生小鸡
- socket网络编程tcp
- 声明变量
- Java学习笔记(三)
- spring+mybatis整合读取不了配置文件
- sqli labs 第二课 sql分析
- 母鸡下蛋
- 判断一棵二叉树是否是平衡二叉树并求一颗二叉树的镜像——题集十
- 排序与去重
- HDU 5411 CRB and Puzzle 等比矩阵的和如何求解?
- stl
- 练习:交换纸牌
- 路径
- Guaua Collections
- 计算机网络-运输层