結果

問題 No.2191 一元二次式 mod 奇素数
ユーザー 👑 p-adic
提出日時 2022-10-13 22:01:03
言語 C++17(gcc12)
(gcc 12.3.0 + boost 1.87.0)
結果
AC  
実行時間 31 ms / 2,000 ms
コード長 937 bytes
コンパイル時間 468 ms
コンパイル使用メモリ 66,252 KB
最終ジャッジ日時 2025-02-08 02:52:45
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 27
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>
#include <string>
#include <stdio.h>
#include <stdint.h>
using namespace std;

using ll = long long;

#define TYPE_OF( VAR ) remove_const<remove_reference<decltype( VAR )>::type >::type
#define CIN( LL , A ) LL A; cin >> A 
#define ASSERT( A , MIN , MAX ) assert( MIN <= A && A <= MAX ) 
#define CIN_ASSERT( A , MIN , MAX ) CIN( TYPE_OF( MAX ) , A ); ASSERT( A , MIN , MAX ) 
#define FOR( VAR , INITIAL , FINAL_PLUS_ONE ) for( TYPE_OF( FINAL_PLUS_ONE ) VAR = INITIAL ; VAR < FINAL_PLUS_ONE ; VAR ++ ) 
#define QUIT return 0 
#define RETURN( ANSWER ) cout << ( ANSWER ) << "\n"; QUIT 

#include <cassert>

#define MAIN main

int MAIN()
{
  constexpr const ll bound = 1000000000 - 1;
  CIN_ASSERT( P , 3 , bound );
  assert( P % 2 == 1 );
  constexpr const ll R = 31622;
  FOR( i , 2 , R ){
    if( i == P ){
      break;
    }
    assert( P % i != 0 );
  }
  P %= 8;
  RETURN( ( P == 1 || P == 7 ) ? "YES" : "NO" );
}
0