Submission #3011578
Source Code Expand
#include <cmath> #include <cstdio> #include <vector> #include <iostream> #include <algorithm> #include <queue> #include <string> #include <set> #include <map> #define REP(i,n) for(ll i = 0; i < (ll)n; i++) #define INF 1000000000000000 using namespace std; typedef long long ll; typedef double db; typedef string str; vector<bool> sieve(ll n){ vector<bool> is_prime(n+1); fill(is_prime.begin(),is_prime.end(),true); for(ll i = 0; i<=n; i++) is_prime[i] = true; is_prime[0] = is_prime[1] = false; for(ll i=2; i<=n; i++){ if(is_prime[i]){ for(ll j = 2*i; j<=n; j+=i){ is_prime[j] = false; } } } return is_prime; } int main(){ vector<bool> is_prime = sieve(100000); ll cnt[100001]; cnt[0] = 0; for(ll i = 1; i <= 100000; i++){ if(is_prime[i] == true&&is_prime[(i+1)/2]==true){ cnt[i] = cnt[i-1]+1; }else{ cnt[i] = cnt[i-1]; } } ll q; cin >> q; REP(i,q){ ll l,r; cin >> l >> r; cout << cnt[r]-cnt[l-1] << endl; } return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - 2017-like Number |
User | nexusuica |
Language | C++14 (GCC 5.4.1) |
Score | 400 |
Code Size | 1071 Byte |
Status | AC |
Exec Time | 217 ms |
Memory | 1408 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt |
All | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, sample_01.txt, sample_02.txt, sample_03.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01.txt | AC | 213 ms | 1408 KB |
02.txt | AC | 217 ms | 1408 KB |
03.txt | AC | 217 ms | 1408 KB |
04.txt | AC | 216 ms | 1408 KB |
05.txt | AC | 203 ms | 1408 KB |
06.txt | AC | 211 ms | 1408 KB |
07.txt | AC | 217 ms | 1280 KB |
sample_01.txt | AC | 2 ms | 1024 KB |
sample_02.txt | AC | 2 ms | 1024 KB |
sample_03.txt | AC | 2 ms | 1024 KB |