結果
| 問題 | No.4 おもりと天秤 |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-03-07 10:01:50 |
| 言語 | Fortran (gFortran 15.2.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,213 bytes |
| 記録 | |
| コンパイル時間 | 1,801 ms |
| コンパイル使用メモリ | 40,432 KB |
| 実行使用メモリ | 7,844 KB |
| 最終ジャッジ日時 | 2026-03-07 10:01:53 |
| 合計ジャッジ時間 | 2,879 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 13 WA * 10 |
ソースコード
SUBROUTINE SORT(W, N)
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: W(N)
INTEGER :: I, J, N, TMP
DO I = 1, N
DO J = 1, N - I
IF (W(I) > W(J)) THEN
TMP = W(J)
W(J) = W(I)
W(I) = TMP
END IF
END DO
END DO
END SUBROUTINE SORT
RECURSIVE SUBROUTINE DOVE(TAR, CURRENT, N, IMA, W)
IMPLICIT NONE
INTEGER :: TAR, CURRENT, N, IMA
INTEGER :: W(N)
IF (TAR == 0 .OR. CURRENT == N) THEN
RETURN
END IF
IF (IMA + W(CURRENT) < TAR) THEN
CALL DOVE(TAR, CURRENT + 1, N, IMA + W(CURRENT), W)
ELSE IF (IMA + W(CURRENT) == TAR) THEN
TAR = 0
END IF
END SUBROUTINE DOVE
PROGRAM MAIN
IMPLICIT NONE
INTEGER :: N, W_SUM, TAR
INTEGER, ALLOCATABLE, DIMENSION(:) :: W
READ *, N
ALLOCATE(W(N))
READ *, W(:)
CALL SORT(W, N)
W_SUM = SUM(W)
IF (MOD(W_SUM, 2) /= 0) THEN
PRINT *, 'impossible'
RETURN
END IF
TAR = W_SUM / 2 - W(N)
! PRINT *, TAR
CALL DOVE(TAR, 1, N, 0, W)
IF (TAR == 0) THEN
PRINT *, 'possible'
ELSE
PRINT *, 'impossible'
END IF
END PROGRAM MAIN