Submission #3015939
Source Code Expand
#include <iostream> #include <vector> #define REP(i,n) for(int i=0;i<n;i++) #define FOR(i,n1,n2) for(int i=n1;i<n2;i++) #define put(a) cout<<a<<endl; using namespace std; int q; vector<int> p(100010,0); vector<int> p2(100010,0); vector<int> s(100010,0); vector<int> a(10000); const int n = 100000; int main() { cin >> q; vector<int> l(q); vector<int> r(q); REP(i,q){ cin >> l[i] >> r[i]; } p[2] = 1; a[0] = 2; int cnt= 1; FOR(i,3,n){ bool flag = true; REP(j,cnt){ if(i%a[j]==0){ flag = false; break; } } if(flag){ a[cnt++] = i; p[i] = 1; } } for(int i=1;i<n;i+=2){ if(p[i]&&p[(i+1)/2]){ p2[i]=1; } } s[0] = 0; REP(i, n){ s[i+1] = s[i] + p2[i+1]; } REP(i,q){ put(s[r[i]]-s[l[i]-1]); } return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - 2017-like Number |
User | idaten |
Language | C++14 (GCC 5.4.1) |
Score | 400 |
Code Size | 993 Byte |
Status | AC |
Exec Time | 363 ms |
Memory | 2688 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 | 359 ms | 2560 KB |
02.txt | AC | 363 ms | 2560 KB |
03.txt | AC | 362 ms | 2560 KB |
04.txt | AC | 356 ms | 2560 KB |
05.txt | AC | 349 ms | 2688 KB |
06.txt | AC | 351 ms | 2688 KB |
07.txt | AC | 357 ms | 2560 KB |
sample_01.txt | AC | 152 ms | 1408 KB |
sample_02.txt | AC | 152 ms | 1408 KB |
sample_03.txt | AC | 152 ms | 1408 KB |