AtCoder ABC 014 A&B&C AtCoder - 014
private void solveA() {
int a = nextInt();
int b = nextInt();
int mod = a % b;
out.println(mod == 0 ? 0 : b - mod);
}
――Which position of x is bit 1? --Match the position where bit is 1 with the index of the product price
private void solveB() {
int n = nextInt();
int x = nextInt();
int[] wk = IntStream.range(0, n).map(i -> nextInt()).toArray();
int sum = 0;
int index = 0;
while (x != 0) {
if ((x & 1) == 1) {
sum += wk[index];
}
x >>= 1;
index++;
}
out.println(sum);
}
C - AtColor
――It's easy if you take the cumulative sum. .. .. I can't think of another solution
private void solveC() {
int n = nextInt();
int[][] wk = Stream.generate(() -> new int[] { nextInt(), nextInt() }).limit(n).toArray(int[][]::new);
int[] imos = new int[1000001];
for (int i = 0; i < n; i++) {
imos[wk[i][0]] += 1;
if (wk[i][1] + 1 < imos.length) {
imos[wk[i][1] + 1] -= 1;
}
}
for (int i = 1; i < imos.length; i++) {
imos[i] = imos[i] + imos[i - 1];
}
Arrays.sort(imos);
out.println(imos[imos.length - 1]);
}
Recommended Posts