Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define ll long long
- #define pi 3.141592653
- #define NumOfDigit(w) log10(w) + 1
- #define fixed(n) cout << fixed << setprecision(n)
- #define getline(s) getline(cin >> ws , s)
- #define Ceil(n , m) ((n / m) + (n % m ? 1 : 0))
- #define Num_of_Digits(n) ((int)log10(n) + 1)
- #define all(s) s.begin(), s.end()
- #define rall(s) s.rbegin(), s.rend()
- #define cin(v) for (auto&i:v) cin >> i;
- #define cout(v) for (auto&i:v) cout << i << " ";
- #define cin_2d(vec, n, m) \
- for(int i=0;i<n;i++) for(int j=0;j<m&&cin>>vec[i][j];j++);
- #define cout_2d(vec, n, m)\
- for (int i = 0; i < n; i++, cout << "\n")\
- for (int j = 0; j < m && cout << vec[i][j] << " "; j++)
- #define cinp(v) for (auto &i : v) cin >> i.first >> i.second;
- #define coutp(v) for (auto &i : v) cout << i.first << " " << i.second << "\n";
- #define sz(s) (ll)s.size()
- #define mini(v) *min_element(all(v))
- #define maxi(v) *max_element(all(v))
- #define nl "\n"
- #define EPS 1e-9
- #define OO 2'000'000'000
- #define MOD 1'000'000'007
- using namespace std;
- //****************************************************************************
- void ShrOOk() {
- ios_base::sync_with_stdio(false),cin.tie(nullptr), cout.tie(nullptr);
- #ifndef ONLINE_JUDGE
- freopen("input.txt","r" , stdin),
- freopen("output.txt","w",stdout);
- #endif
- }
- //****************************************************************************
- vector < ll > factors;
- void sieve_factorisation(ll n){
- factors.assign(n + 5 , 2);
- factors[0] = 0;
- factors[1] = 1;
- for(ll i = 2 ; i <= n ; i++){
- for(ll j = i + i ; j <= n ; j += i) factors[j]++;
- }
- }
- //****************************************************************************
- void solve()
- {
- ll q , n;
- cin >> n >> q;
- vector<ll>v(n) , pre(n+1);
- cin(v);
- for(int i=1 ; i<=n ; i++){
- pre[i] = pre[i-1] + v[i-1];
- }
- while(q--){
- ll l , r;
- cin >> l >> r;
- if(l==1 and factors[pre[r]] == 2)cout<<"YES"<<nl;
- else if(factors[pre[r]-pre[l-1]] == 2)cout<<"YES"<<nl;
- else cout<<"NO"<<nl;
- }
- }
- //****************************************************************************
- int main()
- {
- sieve_factorisation((ll)1e7);
- ShrOOk();
- int t=1;
- // cin>>t;
- while(t--)
- {
- solve();
- cout<<nl;
- }
- return 0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement