結果

問題 No.406 鴨等間隔の法則
ユーザー jj
提出日時 2016-08-06 10:46:29
言語 Fortran
(gFortran 14.2.0)
結果
RE  
(最新)
AC  
(最初)
実行時間 -
コード長 748 bytes
コンパイル時間 1,701 ms
コンパイル使用メモリ 33,024 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-07-07 11:30:57
合計ジャッジ時間 1,850 ms
ジャッジサーバーID
(参考情報)
judge2 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 28 RE * 1
権限があれば一括ダウンロードができます

ソースコード

diff #

  integer::N,i,kankaku,tmp
  integer,allocatable::x(:),memo(:)
  integer::min1,min2
  read *, N
  allocate(x(N),memo(0:N))
  read *, x

  min1 = MIN(x(1),x(2))
  min2 = MAX(x(1),x(2))
  if(min1.eq.min2) then
     print '(a)', "NO"
     return
  end if
  memo(1:2) = 0

  do i=3,N
     memo(i) = 0
     if(min1.gt.x(i)) then
        min2 = min1
        min1 = x(i)
     else if(min2.gt.x(i)) then
        min2 = x(i)
     end if
  end do

  kankaku = min2 - min1

  do i=1,N-1
     if(MOD((x(i)-min1),kankaku).ne.0) then
        print '(a)', "NO"
        return
     end if
     tmp = (x(i)-min1)/kankaku
     if(memo(tmp).eq.1) then
        print '(a)', "NO"
        return
     end if
     memo(tmp) = 1
  end do

  print '(a)', "YES"
end program
0