import
java.util.ArrayList;
import
java.util.Map;
import
java.util.TreeMap;
class
GFG {
public
static
void
skipIndices(
int
N,
int
T,
int
arr[])
{
int
sum =
0
;
TreeMap<Integer, Integer> count =
new
TreeMap<Integer, Integer>();
for
(
int
i =
0
; i < N; i++) {
int
d = sum + arr[i] - T;
int
k =
0
;
if
(d >
0
) {
for
(Map.Entry<Integer, Integer> u : count.descendingMap().entrySet()) {
int
j = u.getKey();
int
x = j * count.get(j);
if
(d <= x) {
k += (d + j -
1
) / j;
break
;
}
k += count.get(j);
d -= x;
}
}
sum += arr[i];
if
(count.containsKey(arr[i])){
count.put(arr[i], count.get(arr[i]) +
1
);
}
else
{
count.put(arr[i],
1
);
}
System.out.print(k +
" "
);
}
}
public
static
void
main(String args[])
{
int
N =
7
;
int
T =
15
;
int
arr[] = {
1
,
2
,
3
,
4
,
5
,
6
,
7
};
skipIndices(N, T, arr);
}
}