結果
| 問題 |
No.437 cwwゲーム
|
| コンテスト | |
| ユーザー |
jj
|
| 提出日時 | 2017-03-18 01:41:53 |
| 言語 | Fortran (gFortran 14.2.0) |
| 結果 |
AC
|
| 実行時間 | 3 ms / 2,000 ms |
| コード長 | 1,183 bytes |
| コンパイル時間 | 2,043 ms |
| コンパイル使用メモリ | 34,048 KB |
| 実行使用メモリ | 6,824 KB |
| 最終ジャッジ日時 | 2024-10-12 08:42:51 |
| 合計ジャッジ時間 | 3,590 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 41 |
コンパイルメッセージ
Main.f90:49:30:
49 | write(cformat(5:9),'(i0)'),size(array)
| 1
Warning: Legacy Extension: Comma before i/o item list at (1)
ソースコード
program main
implicit none
character*12::S
integer::i,len,pmax
integer*8,allocatable::N(:)
read *,S
len = LEN_TRIM(S)
if(len.lt.3) then
print '("0")'
return
end if
allocate(N(len))
do i=1,len
N(i) = ICHAR(S(i:i))-ICHAR('0')
end do
pmax = partmax(N)
print '(i0)', pmax
contains
recursive function partmax(N) result(pmax)
integer*8,intent(in) ::N(:)
integer*8,allocatable::M(:)
integer*8::cww,pmax,i,j,k,l,len
pmax = 0
len = size(N)
if (len .lt. 3) then
return
else
do i=1,len-2
if(N(i).eq.0) cycle
do j=i+1,len-1
if(N(i).eq.N(j)) cycle
do k=j+1, len
if(N(j).ne.N(k)) cycle
cww = N(i)*100+N(j)*10+N(k)
M = pack(N, (/(l.ne.i.and.l.ne.j.and.l.ne.k,l=1,len)/))
pmax = MAX(cww+partmax(M),pmax)
end do
end do
end do
endif
end function partmax
subroutine aprinter(array)
integer*8::array(:)
character*32::cformat='(i0, (1x,i0))'
write(cformat(5:9),'(i0)'),size(array)
write(*,cformat) array
end subroutine aprinter
end program main
jj