提出 #49183034
ソースコード 拡げる
Copy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
program main
implicit none
integer(8) N, K, ok, ng, ref, cnt, ok_cnt, ng_cnt, ref_cnt, i
integer(8), allocatable:: A(:), B(:)
read*, N, K
allocate(A(N))
allocate(B(N))
read*, A, B
call heapsort(N, A)
call heapsort(N, B)
ng = 0
ok = maxval(A) * maxval(B) + 1
do while (abs(ng - ok) > 1)
ref = (ng + ok) / 2
!積がref以下になるものが何個あるか数える
cnt = 0
do i = 1, N
ok_cnt = 0
ng_cnt = N + 1
do while (ng_cnt - ok_cnt > 1)
ref_cnt = (ok_cnt + ng_cnt) / 2
if (A(i) * B(ref_cnt) <= ref) then
ok_cnt = ref_cnt
else
ng_cnt = ref_cnt
end if
end do
cnt = cnt + ok_cnt
end do
if (cnt >= K) then
ok = ref
else
ng = ref
end if
end do
print'(i0)', ok
end program main
subroutine heapsort(n,array)
implicit none
integer(8),intent(in) :: n
integer(8),intent(inout) :: array(1:n)
integer(8) ::i,k,j,l
integer(8) :: t
if(n.eq.1)return
l=n/2+1
k=n
do while(k.ne.1)
if(l.gt.1)then
l=l-1
t=array(L)
else
t=array(k)
array(k)=array(1)
k=k-1
if(k.eq.1) then
array(1)=t
exit
endif
endif
i=l
j=l+l
do while(j.le.k)
if(j.lt.k)then
if(array(j).lt.array(j+1))j=j+1
endif
if (t.lt.array(j))then
array(i)=array(j)
i=j
j=j+j
else
j=k+1
endif
enddo
array(i)=t
enddo
return
end subroutine heapsort
提出情報
提出日時
2024-01-09 11:26:10
問題
C - 億マス計算
ユーザ
jj1guj
言語
Fortran (gfortran 12.2)
得点
100
コード長
1893 Byte
結果
AC
実行時間
98 ms
メモリ
3516 KB
ジャッジ結果
セット名
Sample
Subtask1
Subtask2
得点 / 配点
0 / 0
5 / 5
95 / 95
結果
セット名
テストケース
Sample
subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt
Subtask1
subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt
Subtask2
subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt, subtask2_21.txt, subtask2_22.txt, subtask2_23.txt, subtask2_24.txt, subtask2_25.txt, subtask2_26.txt, subtask2_27.txt, subtask2_28.txt, subtask2_29.txt, subtask2_30.txt, subtask2_31.txt, subtask2_32.txt, subtask2_33.txt, subtask2_34.txt, subtask2_35.txt, subtask2_36.txt, subtask2_37.txt, subtask2_38.txt, subtask2_39.txt, subtask2_40.txt, subtask2_41.txt, subtask2_42.txt, subtask2_43.txt, subtask2_44.txt, subtask2_45.txt
ケース名
結果
実行時間
メモリ
subtask0_sample_01.txt
AC
5 ms
2716 KB
subtask0_sample_02.txt
AC
1 ms
2580 KB
subtask0_sample_03.txt
AC
1 ms
2636 KB
subtask1_01.txt
AC
1 ms
2500 KB
subtask1_02.txt
AC
1 ms
2720 KB
subtask1_03.txt
AC
1 ms
2504 KB
subtask1_04.txt
AC
1 ms
2580 KB
subtask1_05.txt
AC
1 ms
2512 KB
subtask1_06.txt
AC
1 ms
2632 KB
subtask1_07.txt
AC
1 ms
2504 KB
subtask1_08.txt
AC
1 ms
2508 KB
subtask1_09.txt
AC
1 ms
2648 KB
subtask1_10.txt
AC
1 ms
2556 KB
subtask1_11.txt
AC
1 ms
2512 KB
subtask1_12.txt
AC
1 ms
2640 KB
subtask1_13.txt
AC
1 ms
2564 KB
subtask1_14.txt
AC
1 ms
2732 KB
subtask1_15.txt
AC
1 ms
2588 KB
subtask2_16.txt
AC
33 ms
2820 KB
subtask2_17.txt
AC
29 ms
2996 KB
subtask2_18.txt
AC
17 ms
2824 KB
subtask2_19.txt
AC
12 ms
2624 KB
subtask2_20.txt
AC
83 ms
2984 KB
subtask2_21.txt
AC
70 ms
3224 KB
subtask2_22.txt
AC
65 ms
3232 KB
subtask2_23.txt
AC
45 ms
3240 KB
subtask2_24.txt
AC
95 ms
3180 KB
subtask2_25.txt
AC
98 ms
3184 KB
subtask2_26.txt
AC
97 ms
3404 KB
subtask2_27.txt
AC
98 ms
3252 KB
subtask2_28.txt
AC
88 ms
3460 KB
subtask2_29.txt
AC
98 ms
3408 KB
subtask2_30.txt
AC
95 ms
3308 KB
subtask2_31.txt
AC
83 ms
3364 KB
subtask2_32.txt
AC
3 ms
2640 KB
subtask2_33.txt
AC
18 ms
2808 KB
subtask2_34.txt
AC
51 ms
3260 KB
subtask2_35.txt
AC
52 ms
3080 KB
subtask2_36.txt
AC
28 ms
2756 KB
subtask2_37.txt
AC
19 ms
2840 KB
subtask2_38.txt
AC
12 ms
2668 KB
subtask2_39.txt
AC
93 ms
3404 KB
subtask2_40.txt
AC
86 ms
3324 KB
subtask2_41.txt
AC
81 ms
3516 KB
subtask2_42.txt
AC
33 ms
2896 KB
subtask2_43.txt
AC
92 ms
3460 KB
subtask2_44.txt
AC
94 ms
3404 KB
subtask2_45.txt
AC
87 ms
3488 KB