CodeforcesApr 27, 2025

Arya and Bran

Hazrat Ali

Codeforces

At first, Arya and Bran have 0 Candies. There are n days, at the i-th day, Arya finds ai candies in a box, that is given by the Many-Faced God. Every day she can give Bran at most 8 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 before the 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 ≤ 1001 ≤ 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 k candies 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

Solution

#include <bits/stdc++.h>
using namespace std;

int main() {
  int n, k;
  cin >> n >> k;
  int arya = 0, bran = 0;
  int m = 0;
  for (int i = 0; i < n; i++) {
    int temp;
    cin >> temp;
    if (temp + arya >= 8) {
      bran += 8;
      arya += temp - 8;
    } else {
      bran += temp + arya;
      arya = 0;
    }
    m++;
    if (bran >= k) {
      cout << m << endl;
      return 0;
    }
  }
  if (bran < k) {
    cout << -1 << endl;
  }
  return 0;
}




Comments