/ SeriousOJ /

Record Detail

Time Exceeded


  
# Status Time Cost Memory Cost
#1 Accepted 34ms 17.246 MiB
#2 Accepted 34ms 17.246 MiB
#3 Accepted 114ms 21.992 MiB
#4 Accepted 101ms 21.906 MiB
#5 Accepted 203ms 34.117 MiB
#6 Accepted 237ms 36.156 MiB
#7 Accepted 287ms 36.594 MiB
#8 Accepted 288ms 35.012 MiB
#9 Accepted 701ms 42.496 MiB
#10 Accepted 893ms 42.645 MiB
#11 Time Exceeded ≥2101ms ≥37.289 MiB
#12 Accepted 1152ms 70.039 MiB
#13 Accepted 241ms 68.449 MiB
#14 Time Exceeded ≥2105ms ≥66.727 MiB

Code

def main():
    import sys
    input = sys.stdin.read
    data = input().splitlines()
    
    t = int(data[0])  # Number of test cases
    index = 1

    for _ in range(t):
        n = int(data[index])  # Number of intervals
        index += 1
        vec = []
        id_list = []
        
        for i in range(n):
            l, r = map(int, data[index].split())
            index += 1
            vec.append((r, l))  # (end, start)
            id_list.append(l)
        
        vec.sort()  # Sort by 'r' then 'l'
        id_list.sort()  # Sort by 'l'

        cur = 0
        st = set()
        res = []
        
        for val in id_list:
            if val > cur:
                cur = val
            else:
                cur += 1
            st.add(cur)
            res.append(cur)
        
        x = 1
        for r, l in vec:
            it = next((s for s in st if s >= l), None)
            if it is None or it > r or it < l:
                x = 0
                break
            st.remove(it)
        
        if x == 0:
            print("NO")
        else:
            print("YES")
            print(" ".join(map(str, res)))

if __name__ == "__main__":
    main()

Information

Submit By
Type
Submission
Problem
P1185 Segment
Language
PyPy 3 (Python 3.9.18 PyPy 7.3.15)
Submit At
2025-03-25 08:55:36
Judged At
2025-03-25 08:55:36
Judged By
Score
66
Total Time
≥2105ms
Peak Memory
≥70.039 MiB