唯一要注意的是前一天剩下的可以存起来以后发
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<set>
#include<stack>
#include<queue>
#include<ctype.h>
#include<vector>
#include<algorithm>
// cout << " === " << endl;
using namespace std;
typedef long long ll;
const int maxn = 1000 + 7, INF = 0x3f3f3f3f, mod = 1e9+7;
int n, m;
int a[maxn];
int main() {
scanf("%d%d", &n, &m);
int sum = 0;
for(int i = 1; i <= n; ++i)
scanf("%d", &a[i]);
for(int i = 1; i <= n; ++i) {
if(a[i] >= 8) {
m -= 8;
sum += a[i] - 8;
}
else {
int t = 8 - a[i];
m -= a[i];
m -= min(t, sum);
sum = max(0, sum - t);
}
//cout << m << " ++ ++ " << endl;
if(m <= 0) {
cout << i << endl;
return 0;
}
}
cout << -1 << endl;
return 0;
}