#include <bits/stdc++.h>
#define pb push_back
#define rep(i,a,b) for( int i = a; i < b; i++ )
#define debug(a) cout << #a << " = " << a << endl;
#define debug2(a,b) cout << #a << " = " << a << " --- " << #b << " = " << b << endl;
using namespace std;
typedef long long int ll;
int main(){
ll n, k, t[100100], sum = 0;
scanf("%I64d%I64d", &n, &k );
rep( i, 0, n ){
scanf("%I64d", &t[i] );
sum += t[i];
}
if( sum < k ){
puts("-1");
return 0;
}
ll lo = 1, hi = 1e9, mid, x;
while( lo <= hi ){
mid = (lo+hi)/2;
sum = 0;
rep( i, 0, n ) sum += min( t[i], mid );
if( sum > k ) hi = mid-1;
else{
x = mid;
lo = mid+1;
}
}
rep( i, 0, n ){
k -= min( t[i], x );
t[i] -= x;
}
int p;
for( p = 0; k; p++ ){
if( t[p] > 0 ) k--, t[p]--;
}
rep( i, p, n ) if( t[i] > 0 ) printf("%d ", i+1 );
rep( i, 0, p ) if( t[i] > 0 ) printf("%d ", i+1 );
printf("\n");
}
869. Reordered Power of 2 | 1593C - Save More Mice |
1217. Minimum Cost to Move Chips to The Same Position | 347. Top K Frequent Elements |
1503. Last Moment Before All Ants Fall Out of a Plank | 430. Flatten a Multilevel Doubly Linked List |
1290. Convert Binary Number in a Linked List to Integer | 1525. Number of Good Ways to Split a String |
72. Edit Distance | 563. Binary Tree Tilt |
1306. Jump Game III | 236. Lowest Common Ancestor of a Binary Tree |
790. Domino and Tromino Tiling | 878. Nth Magical Number |
2099. Find Subsequence of Length K With the Largest Sum | 1608A - Find Array |
416. Partition Equal Subset Sum | 1446. Consecutive Characters |
1618A - Polycarp and Sums of Subsequences | 1618B - Missing Bigram |
938. Range Sum of BST | 147. Insertion Sort List |
310. Minimum Height Trees | 2110. Number of Smooth Descent Periods of a Stock |
2109. Adding Spaces to a String | 2108. Find First Palindromic String in the Array |
394. Decode String | 902. Numbers At Most N Given Digit Set |
221. Maximal Square | 1200. Minimum Absolute Difference |