Submission #67136375


Source Code Expand

Copy
import math
def sieve(_n):
count = [0]*(_n+1)
pre=[]
for i in range(2,_n+1):
if count[i]:
continue
pre.append(i)
for j in range(i,_n+1,i):
count[j] += 1
return pre
def cntP(L,R,P):
cnt=[True]*(R-L+1)
for p in P:
if p*p>R:
break
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
import math

def sieve(_n):
    count = [0]*(_n+1)
    pre=[]
    for i in range(2,_n+1):
        if count[i]:
            continue
        pre.append(i)
        for j in range(i,_n+1,i):
            count[j] += 1
    return pre

def cntP(L,R,P):

    cnt=[True]*(R-L+1)

    for p in P:
        if p*p>R:
            break

        l=((L+p-1)//p)*p
        for m in range(max(l,p*p),R+1,p):
            cnt[m-L]=False

    if L==0:
        if R>=0: cnt[0]=False
        if R>=1: cnt[1]=False
    elif L==1:
        cnt[0] = False

    return sum(cnt)


L,R=map(int, input().split())


lim=int(math.isqrt(R))+1
pres=sieve(lim)

cnt=cntP(L+1,R,pres)


pp=0
K=int(math.log2(R))+1
for p in pres:
    if p*p>R:
        break
    val=p*p
    for k in range(2,K+1):
        if val>R:
            break
        if val>L:
            pp+= 1
        if val>R//p:
            break
        val*=p

print(1+cnt+pp)

Submission Info

Submission Time
Task E - LCM Sequence
User kotafuku
Language Python (PyPy 3.10-v7.3.12)
Score 500
Code Size 965 Byte
Status AC
Exec Time 1075 ms
Memory 267908 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 3
AC × 31
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_random_1_00.txt, 01_random_1_01.txt, 01_random_1_02.txt, 01_random_1_03.txt, 01_random_1_04.txt, 01_random_1_05.txt, 01_random_1_06.txt, 01_random_1_07.txt, 01_random_1_08.txt, 01_random_1_09.txt, 02_random_2_00.txt, 02_random_2_01.txt, 02_random_2_02.txt, 02_random_2_03.txt, 02_random_2_04.txt, 02_random_2_05.txt, 02_random_2_06.txt, 02_random_2_07.txt, 02_random_2_08.txt, 02_random_2_09.txt, 02_random_2_10.txt, 02_random_2_11.txt, 02_random_2_12.txt, 02_random_2_13.txt, 02_random_2_14.txt, 03_corner_00.txt, 03_corner_01.txt, 03_corner_02.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 65 ms 76476 KiB
00_sample_01.txt AC 73 ms 82032 KiB
00_sample_02.txt AC 1011 ms 249204 KiB
01_random_1_00.txt AC 961 ms 257480 KiB
01_random_1_01.txt AC 961 ms 222072 KiB
01_random_1_02.txt AC 365 ms 138336 KiB
01_random_1_03.txt AC 463 ms 154936 KiB
01_random_1_04.txt AC 1075 ms 267908 KiB
01_random_1_05.txt AC 596 ms 195584 KiB
01_random_1_06.txt AC 713 ms 208836 KiB
01_random_1_07.txt AC 304 ms 141428 KiB
01_random_1_08.txt AC 792 ms 229292 KiB
01_random_1_09.txt AC 446 ms 159752 KiB
02_random_2_00.txt AC 645 ms 178972 KiB
02_random_2_01.txt AC 621 ms 178712 KiB
02_random_2_02.txt AC 632 ms 178792 KiB
02_random_2_03.txt AC 773 ms 205456 KiB
02_random_2_04.txt AC 723 ms 205612 KiB
02_random_2_05.txt AC 731 ms 205824 KiB
02_random_2_06.txt AC 512 ms 169276 KiB
02_random_2_07.txt AC 504 ms 169484 KiB
02_random_2_08.txt AC 523 ms 169428 KiB
02_random_2_09.txt AC 923 ms 243212 KiB
02_random_2_10.txt AC 898 ms 243344 KiB
02_random_2_11.txt AC 866 ms 243308 KiB
02_random_2_12.txt AC 844 ms 218532 KiB
02_random_2_13.txt AC 879 ms 218400 KiB
02_random_2_14.txt AC 842 ms 218296 KiB
03_corner_00.txt AC 64 ms 76892 KiB
03_corner_01.txt AC 390 ms 159992 KiB
03_corner_02.txt AC 85 ms 85948 KiB


2025-06-30 (Mon)
12:09:14 +09:00