61 lines
1.2 KiB
Java
61 lines
1.2 KiB
Java
package chelper;
|
|
|
|
import java.util.Arrays;
|
|
import java.util.Comparator;
|
|
import java.util.TreeSet;
|
|
|
|
import io.InputReader;
|
|
import io.OutputWriter;
|
|
import misc.ComparableCouple;
|
|
import misc.SimpleSavingChelperSolution;
|
|
|
|
|
|
public class D extends SimpleSavingChelperSolution {
|
|
|
|
public void solve(int testNumber, InputReader in, OutputWriter out) {
|
|
wrapSolve(testNumber, in, out);
|
|
}
|
|
|
|
@Override
|
|
public void solve(int testNumber) {
|
|
int n = in.nextInt();
|
|
int T = in.nextInt() - 1;
|
|
|
|
n = Math.min(n, T);
|
|
|
|
int[] a = in.nextIntArray(n);
|
|
|
|
int initWait = Math.max(T - n, 0);
|
|
int leftToWait = T - initWait;
|
|
|
|
int[] needMore = new int[n];
|
|
|
|
int[] stats = new int[n + 10];
|
|
|
|
for (int i = 0; i < n; i++) {
|
|
needMore[i] = Math.max(a[i] - (initWait + i + 1), 0);
|
|
|
|
needMore[i] = Math.min(needMore[i], leftToWait + 1);
|
|
|
|
stats[needMore[i]] += 1;
|
|
}
|
|
|
|
int cur = stats[0];
|
|
int best = cur;
|
|
|
|
for (int i = 1; i <= leftToWait; i++) {
|
|
cur += stats[i];
|
|
|
|
int removed = needMore[n - i];
|
|
if (removed <= i) {
|
|
cur--;
|
|
}
|
|
stats[removed]--;
|
|
|
|
best = Math.max(best, cur);
|
|
}
|
|
|
|
out.println(best);
|
|
}
|
|
}
|