Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- import java.io.*;
- public class Solution {
- public void doMain() throws Exception {
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- int N = Integer.parseInt(br.readLine());
- int[] a = new int[N];
- StringTokenizer st = new StringTokenizer(br.readLine());
- for (int i=0; i<N; i++)
- a[i] = Integer.parseInt(st.nextToken());
- int M = Integer.parseInt(br.readLine());
- int[][] seq = new int[M][];
- for (int i=0; i < M; i++) {
- int L = Integer.parseInt(br.readLine());
- seq[i] = new int[L];
- st = new StringTokenizer(br.readLine());
- for (int j=0; j < L; j++)
- seq[i][j] = Integer.parseInt(st.nextToken());
- }
- br.close();
- List<List<Integer>> ll = new ArrayList<List<Integer>>();
- for (int i=0; i <= 1000000; i++)
- ll.add(new ArrayList<Integer>());
- int[] pos = new int[M];
- for (int i=0; i < M; i++) {
- ll.get(seq[i][0]).add(i);
- }
- for (int i=0; i < N; i++) {
- List<Integer> l = ll.get(a[i]);
- List<Integer> next = new ArrayList<Integer>();
- for (int id : l) {
- pos[id]++;
- if (pos[id] < seq[id].length) {
- if (seq[id][pos[id]] == a[i]) {
- next.add(id);
- } else {
- ll.get(seq[id][pos[i]]).add(id);
- }
- }
- }
- ll.set(a[i], next);
- }
- for (int i=0; i < M; i++)
- System.out.println(pos[i] == seq[i].length ? "TAK" : "NIE");
- }
- public static void main(String[] args) throws Exception {
- (new Solution()).doMain();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement