結果

問題 No.406 鴨等間隔の法則
ユーザー jj
提出日時 2016-08-06 10:45:44
言語 Fortran
(gFortran 14.2.0)
結果
RE  
実行時間 -
コード長 746 bytes
コンパイル時間 719 ms
コンパイル使用メモリ 32,896 KB
実行使用メモリ 6,824 KB
最終ジャッジ日時 2024-11-07 04:59:50
合計ジャッジ時間 2,257 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
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(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