Submission #73536031


Source Code Expand

import sys
import string
import math
import bisect
import os
import heapq
import operator
from io import BytesIO, IOBase
from heapq import heappop,heappush
from functools import lru_cache,cache
from copy import copy,deepcopy
from collections import deque,defaultdict,Counter
from itertools import permutations,combinations,accumulate
from array import array


INF = float('inf')
BUFSIZE = 8192

class FastIO(IOBase):
    newlines = 0
 
    def __init__(self, file):
        self._file = file
        self._fd = file.fileno()
        self.buffer = BytesIO()
        self.writable = "x" in file.mode or "r" not in file.mode
        self.write = self.buffer.write if self.writable else None
 
    def read(self):
        while True:
            b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
            if not b:
                break
            ptr = self.buffer.tell()
            self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr)
        self.newlines = 0
        return self.buffer.read()
 
    def readline(self):
        while self.newlines == 0:
            b = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
            self.newlines = b.count(b"\n") + (not b)
            ptr = self.buffer.tell()
            self.buffer.seek(0, 2), self.buffer.write(b), self.buffer.seek(ptr)
        self.newlines -= 1
        return self.buffer.readline()
 
    def flush(self):
        if self.writable:
            os.write(self._fd, self.buffer.getvalue())
            self.buffer.truncate(0), self.buffer.seek(0)
 
class IOWrapper(IOBase):
    def __init__(self, file):
        self.buffer = FastIO(file)
        self.flush = self.buffer.flush
        self.writable = self.buffer.writable
        self.write = lambda s: self.buffer.write(s.encode("ascii"))
        self.read = lambda: self.buffer.read().decode("ascii")
        self.readline = lambda: self.buffer.readline().decode("ascii")
 
sys.stdin, sys.stdout = IOWrapper(sys.stdin), IOWrapper(sys.stdout)
input = sys.stdin.buffer.readline

ask = lambda *x:print('?',*x,flush=True)
reply = lambda *x:print('!',*x,flush=True)

RI = lambda: int(sys.stdin.readline())
RF = lambda: float(sys.stdin.readline())
RS = lambda: sys.stdin.readline().strip()
RFF = lambda: map(float, sys.stdin.readline().split())
RII = lambda: map(int, sys.stdin.readline().split())
RSS = lambda: map(str, sys.stdin.readline().strip().split())
RIL = lambda: list(RII())
RFL = lambda: list(RFF())
RSL = lambda: list(RSS())

from types import GeneratorType
def bootstrap(f, stack=[]):
    def wrappedfunc(*args, **kwargs):
        if stack:
            return f(*args, **kwargs)
        else:
            to = f(*args, **kwargs)
            while True:
                if type(to) is GeneratorType:
                    stack.append(to)
                    to = next(to)
                else:
                    stack.pop()
                    if not stack:
                        break 
                    to = stack[-1].send(to)
            return to

    return wrappedfunc


def main():
    test = RI()
    
    for _ in range(test):
        n = RI()
        a = RIL()
        
        vis = [False]*n
        ans = []
        a = [x-1 for x in a]
        b = [0]*n
        
        flag = True
        for i in range(2*n):
            if flag==True:
                vis[a[i]] = True
            b[a[i]] += 1
            if i==2*n-1:
                continue
            if flag==True:
                if vis[a[i+1]]==True:
                    flag = False
                    ans.append(i)
            elif flag==False:
                if vis[a[i+1]]==False and b[a[i+1]]==1:
                    flag = True
                    ans.append(i)
        
        print(len(ans))    
        print(*[x+1 for x in ans])



if __name__ == '__main__':
    main()

                

Submission Info

Submission Time
Task B - Stolen Necklace
User x3x3
Language Python (PyPy 3.11-v7.3.20)
Score 500
Code Size 3986 Byte
Status AC
Exec Time 209 ms
Memory 187096 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 1
AC × 20
Set Name Test Cases
Sample 00_sample_01.txt
All 00_sample_01.txt, hand-14.txt, hand-15.txt, hand-16.txt, hand-17.txt, max-12.txt, min-13.txt, nyaan_killer-19.txt, random-01.txt, random-02.txt, random-03.txt, random-04.txt, random-05.txt, random-06.txt, random-07.txt, random-08.txt, random-09.txt, random-10.txt, random-11.txt, random-18.txt
Case Name Status Exec Time Memory
00_sample_01.txt AC 119 ms 110632 KiB
hand-14.txt AC 195 ms 186864 KiB
hand-15.txt AC 193 ms 187096 KiB
hand-16.txt AC 192 ms 180160 KiB
hand-17.txt AC 193 ms 180108 KiB
max-12.txt AC 194 ms 186752 KiB
min-13.txt AC 174 ms 165800 KiB
nyaan_killer-19.txt AC 189 ms 180072 KiB
random-01.txt AC 209 ms 149164 KiB
random-02.txt AC 172 ms 115624 KiB
random-03.txt AC 158 ms 116944 KiB
random-04.txt AC 173 ms 157124 KiB
random-05.txt AC 180 ms 167544 KiB
random-06.txt AC 186 ms 159372 KiB
random-07.txt AC 197 ms 176012 KiB
random-08.txt AC 200 ms 176012 KiB
random-09.txt AC 200 ms 175988 KiB
random-10.txt AC 199 ms 175656 KiB
random-11.txt AC 199 ms 175828 KiB
random-18.txt AC 172 ms 115248 KiB