1992F - Valuable Cards - CodeForces Solution


dp greedy number theory

Please click on ads to support us..

Python Code:

def solve() -> None:
    n, x = map(int, input().split())
    a = list(map(int, input().split()))
    
    p = 1
    seen = set()
    for y in a:
        q, r = divmod(x, y)
        if r or y == 1:
            continue
        
        c = seen.copy()
        for z in c:
            if x == z * y:
                p += 1
                seen.clear()
                break
            
            if x % (z * y) == 0:
                seen.add(z * y)
        
        seen.add(y)
    
    print(p)
    
t = int(input())
for _ in range(t):
    solve()


Comments

Submit
0 Comments
More Questions

1538B - Friends and Candies
580A - Kefa and First Steps
1038B - Non-Coprime Partition
43A - Football
50A - Domino piling
479A - Expression
1480A - Yet Another String Game
1216C - White Sheet
1648A - Weird Sum
427A - Police Recruits
535A - Tavas and Nafas
581A - Vasya the Hipster
1537B - Bad Boy
1406B - Maximum Product
507B - Amr and Pins
379A - New Year Candles
1154A - Restoring Three Numbers
750A - New Year and Hurry
705A - Hulk
492B - Vanya and Lanterns
1374C - Move Brackets
1476A - K-divisible Sum
1333A - Little Artem
432D - Prefixes and Suffixes
486A - Calculating Function
1373B - 01 Game
1187A - Stickers and Toys
313B - Ilya and Queries
579A - Raising Bacteria
723A - The New Year Meeting Friends