Submission #31026574


Source Code Expand

Copy
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.stream.IntStream;
public class Main {
public static void main(String[] args) {
try (Scanner scanner = new Scanner(System.in)) {
int n = scanner.nextInt();
Map<Integer, List<Integer>> map = new HashMap<>();
IntStream.rangeClosed(1, n).forEach(i -> {
int a = scanner.nextInt();
List<Integer> list = map.get(a);
if (null == list) {
list = new ArrayList<>();
map.put(a, list);
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.stream.IntStream;

public class Main {

	public static void main(String[] args) {
		try (Scanner scanner = new Scanner(System.in)) {
			int n = scanner.nextInt();
			Map<Integer, List<Integer>> map = new HashMap<>();
			IntStream.rangeClosed(1, n).forEach(i -> {
				int a = scanner.nextInt();
				List<Integer> list = map.get(a);
				if (null == list) {
					list = new ArrayList<>();
					map.put(a, list);
				}
				list.add(i);
			});
			int q = scanner.nextInt();
			// TLE対策のため、結果をStringBuilderに入れる
			StringBuilder sb = new StringBuilder();
			while (q-- > 0) {
				int l = scanner.nextInt(), r = scanner.nextInt(), x = scanner.nextInt();
				List<Integer> list = map.get(x);
				if (null != list) {
					sb.append(~Collections.binarySearch(list, r, (a, b) -> (a.compareTo(b) > 0) ? 1 : -1)
							- ~Collections.binarySearch(list, l, (a, b) -> (a.compareTo(b) >= 0) ? 1 : -1))
							.append(System.lineSeparator());
				} else {
					sb.append(0).append(System.lineSeparator());
				}
			}
			System.out.print(sb.toString());
			System.out.flush();
		}
	}
}

Submission Info

Submission Time
Task D - Range Count Query
User danielsun3164
Language Java (OpenJDK 11.0.6)
Score 400
Code Size 1307 Byte
Status AC
Exec Time 1285 ms
Memory 82880 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 1
AC × 18
Set Name Test Cases
Sample 00_sample_01.txt
All 00_sample_01.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 02_max_01.txt, 02_max_02.txt, 02_max_03.txt, 02_max_04.txt, 02_max_05.txt, 02_max_06.txt, 02_max_07.txt
Case Name Status Exec Time Memory
00_sample_01.txt AC 175 ms 35676 KB
01_random_01.txt AC 779 ms 63480 KB
01_random_02.txt AC 561 ms 61516 KB
01_random_03.txt AC 838 ms 66448 KB
01_random_04.txt AC 555 ms 64304 KB
01_random_05.txt AC 1019 ms 67360 KB
01_random_06.txt AC 918 ms 64268 KB
01_random_07.txt AC 764 ms 64744 KB
01_random_08.txt AC 1155 ms 72844 KB
01_random_09.txt AC 1126 ms 72056 KB
01_random_10.txt AC 797 ms 68012 KB
02_max_01.txt AC 1128 ms 68256 KB
02_max_02.txt AC 1024 ms 65680 KB
02_max_03.txt AC 1143 ms 66272 KB
02_max_04.txt AC 1229 ms 81276 KB
02_max_05.txt AC 1285 ms 78424 KB
02_max_06.txt AC 1261 ms 82880 KB
02_max_07.txt AC 1195 ms 82684 KB


2025-02-28 (Fri)
05:18:24 +00:00