Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include <stdio.h>
- #include <ctime>
- #include<cmath>
- #include<conio.h>
- #include<bits/stdc++.h>
- using namespace std;
- #define ll long long
- const int N = 2000;
- bool f[N + 5] = {0};
- int prime [200] ;
- int fin [3000] ;
- void seive(){
- f[0] = f[1] = 1;
- for(int i=1; i<=N; i++){
- if(f[i])
- continue;
- for(ll j=(ll)i*i; j<=N; j+=i)
- f[j] = 1;
- }
- }
- void primes ()
- {
- seive();
- int sum = 5 , prevI = 2 , c= 1 ;
- prime[0] = 6 ;
- for (int i = 4 ; i<2000 ; ++i)
- {
- if (!f[i])
- {
- sum-=prevI ;
- prevI = sum ;
- sum+=i;
- prime[c++] = sum+1;
- }
- }
- memset(fin,0,3000);
- int test;
- for (int i = 0 ; i<200 ; ++i)
- {
- test = prime[i];
- if (!f[test])
- fin[test] = 1 ;
- }
- for (int i = 1 ; i<3000 ; ++i)
- {
- fin[i]+=fin[i-1] ;
- }
- }
- int main()
- {
- primes();
- int num , k ;
- cin >> num >> k ;
- cout << ((fin[num]>=k)? "YES\n" : "NO\n") ;
- //cin >> k ;
- //system("pause") ;
- return 0 ;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement