博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces Round #428 A. Arya and Bran【模拟】
阅读量:7079 次
发布时间:2019-06-28

本文共 2394 字,大约阅读时间需要 7 分钟。

A. Arya and Bran
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

Bran and his older sister Arya are from the same house. Bran like candies so much, so Arya is going to give him some Candies.

At first, Arya and Bran have 0 Candies. There are n days, at the i-th day, Arya finds aicandies in a box, that is given by the Many-Faced God. Every day she can give Bran at most8 of her candies. If she don't give him the candies at the same day, they are saved for her and she can give them to him later.

Your task is to find the minimum number of days Arya needs to give Bran k candies beforethe end of the n-th day. Formally, you need to output the minimum day index to the end of which k candies will be given out (the days are indexed from 1 to n).

Print -1 if she can't give him k candies during n given days.

Input

The first line contains two integers n and k (1 ≤ n ≤ 100, 1 ≤ k ≤ 10000).

The second line contains n integers a1, a2, a3, ..., an (1 ≤ ai ≤ 100).

Output

If it is impossible for Arya to give Bran k candies within n days, print -1.

Otherwise print a single integer — the minimum number of days Arya needs to give Bran kcandies before the end of the n-th day.

Examples
input
2 3 1 2
output
2
input
3 17 10 10 10
output
3
input
1 9 10
output
-1
Note

In the first sample, Arya can give Bran 3 candies in 2 days.

In the second sample, Arya can give Bran 17 candies in 3 days, because she can give him at most 8 candies per day.

In the third sample, Arya can't give Bran 9 candies, because she can give him at most 8candies per day and she must give him the candies within 1 day.

 

【题意】:给你n,k。1~n天发给他糖果,超过8给8,剩下的可以存,不超过8给当前的。求最少给到k的天数。

【分析】:模拟

【代码】:

#include 
using namespace std;#define LL long long const int INF = 0x3f3f3f3f; #define mod 10000007 #define mem(a,b) memset(a,b,sizeof a) int main() { int n,m; int a[105]; while(~scanf("%d%d",&n,&m)) { int sum=0; int ans=0; for(int i=0; i
=8) sum+=8,ans-=8; else sum+=ans,ans=0; if(sum>=m) { flag=i+1; break; } } printf("%d\n",flag); } return 0; }
View Code

 

转载于:https://www.cnblogs.com/Roni-i/p/7851777.html

你可能感兴趣的文章
css-margin
查看>>
深入理解Javascript中的隐式调用
查看>>
kotlin学习笔记——lambda表达式
查看>>
ES6-Promise 源码阅读
查看>>
Java系列3---注解
查看>>
正则表达式
查看>>
小猿圈python学习-字符编码的转换
查看>>
【Android自定义View】绘图之Canvas篇(五)
查看>>
如何提高你技术提问的关注度、回答率?
查看>>
VUE自定义指令
查看>>
DOM 属性总结
查看>>
区块链技术对未来的影响
查看>>
JS设计模式初识(三)-代理模式
查看>>
一次全栈实践心得
查看>>
如今,收入最高编程语言资料汇总!看到就是赚到哦!
查看>>
参数使用小技巧
查看>>
2019年成为优秀的Java开发人员的10个技巧
查看>>
MWeb集成七牛云图床服务、上传图片
查看>>
创业新机:朋友圈广告位大改,“解刨”小程序的真正价值
查看>>
小猿圈web前端之JavaScript放大镜效果
查看>>