読者です 読者をやめる 読者になる 読者になる

君はまるで砂漠に咲く、一輪の花。

僕はその花に引き寄せられる蝶。

Codeforces Round #319 (Div.2)

はい。
http://codeforces.com/contest/577

A. Multiplication Table

ざっくりと大意

・nnの数列の中でijがxになるものがいくつあるか??

方針のようなもの

・全部調べる。

python

n,x=map(int,raw_input().split())
ans=0
for i in range(1,n+1):
    if i>x:
        break
    elif x%i==0 and x/i<=n:
        ans+=1
print ans

全部調べる際にもnnを調べようとすると時間が全然足りないがnだけ調べれば良い。1からnまでのそれぞれの数で掛け算をすると、ijがxになるのはあっても1つである。見本の表でいうとiが1の時には12は1で割り切れるがx/1が表の範囲外のため該当なし。2の時には12は2で割り切れて、x/2が6で表の範囲内のため該当あり。3の時には12は3で割り切れて12/3は4で表の範囲内のため該当あり。といった感じで探すとO(n)になるはず。

B. Modulo Sum