Files
java-competitive/archive/2017.09/2017.09.19 - unsorted/D.java
2019-03-15 13:47:54 +04:00

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);
}
}