[Codeforces] 937B Vile Grasshoppers

LINK:http://codeforces.com/contest/937/problem/B
  
  原本要virtual這一場,可是寫道這題就放棄了QQ,之前看過濤哥的文覺得很困難,自己估起來好像時間複雜度會狠狠地報炸,可是剛剛看了別人的解後=_=",就是說根本不會要找很久啊@@,1e9之內的質數gap最大也沒多大,然後需要用O(n^0.5)的質數篩法頂多一次要篩個1e5個左右,所以時間複雜度根本過得去@@,根本不知道我昨天在想甚麼QQ
  順便學到了goto的用法XD


#include <bits/stdc++.h>
using namespace std;
typedef pair<int,int> PII;
typedef vector<int> VI;
typedef long long ll;
#define endl '\n'
#define PB push_back
#define MT make_tuple
#define F first
#define S second
#define ALL(v) begin(v),end(v)
#define SZ(v) (int)(v.size())
#define eps 1e-9
#define MOD 1e9+7 
#define JIZZ ios_base::sync_with_stdio(0); cin.tie(0);
#define debug(args...){string _s = #args; replace(ALL(_s),',',' '); stringstream _ss(_s); istream_iterator<string> _it(_ss); error(_it,args);}

bool is_debug = 1;
void error(auto it)
{
    if(is_debug) cerr << endl;
}
template<typename T,typename... Args>
void error(auto it,T a, Args... args)
{
    if(is_debug)
    {
        cerr << *it << " = " << a << "   ";
        error(++it,args...);
    }
}
int p,y;
int main()
{
    cin >> p >> y;
    for(int i = y; i > p; i--)
    {
        for(int j = 2; j*j <= i && j <= p; j++) if(i%j == 0) goto no;
        cout << i << endl;
        return 0;
        no:continue;
    } cout << -1 << endl;
}

留言

這個網誌中的熱門文章

Shellshock.io從入門到上手(針對單狙)(沒有圖片、影片版本)

[TIOJ] 1007燈泡問題