QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#473954 | #1863. Yes, Prime Minister | GenshinImpactsFault | WA | 36ms | 17724kb | C++14 | 1.1kb | 2024-07-12 15:12:58 | 2024-07-12 15:12:58 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
const int N = 10000010;
bool pri[N];
int p[N], lp;
bool check(int x) {
if(x < 2) return 0;
if(x <= 10000000) return !pri[x];
for(int i = 1; 1ll * p[i] * p[i] <= x; i++) {
if(x % p[i] == 0) return 0;
}
return 1;
}
void solve() {
int x; cin >> x;
if(x == 0) {
cout << 3 << "\n"; return ;
}
if(x == 1) {
cout << 2 << "\n"; return ;
}
if(x > 0) {
if(!pri[x]) {
cout << 1 << "\n";
}
else if(check(x + x - 1) || check(x + x + 1)) {
cout << 2 << "\n";
}
else cout << "-1\n";
return ;
}
if(check(-x + 1)) {
cout << -2 * x + 1 + 1 << "\n";
return ;
}
if(check(-x + 2 - x + 1)) {
cout << -2 * x + 1 + 2 << "\n";
return ;
}
cout << "-1\n";
}
int main() {
ios::sync_with_stdio(0); cin.tie(nullptr);
pri[1] = pri[0] = 1;
for(int i = 2; i <= 10000000; i++) {
if(!pri[i]) p[++lp] = i;
for(int j = 1; 1ll * p[j] * i <= 10000000; j++) {
pri[p[j] * i] = 1;
if(i % p[j] == 0) break;
}
}
int T; cin >> T;
for(; T; --T) solve();
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 32ms
memory: 17724kb
input:
10 -2 -1 0 1 2 3 4 5 6 7
output:
6 4 3 2 1 1 2 1 2 1
result:
ok 10 numbers
Test #2:
score: -100
Wrong Answer
time: 36ms
memory: 17692kb
input:
201 -100 -99 -98 -97 -96 -95 -94 -93 -92 -91 -90 -89 -88 -87 -86 -85 -84 -83 -82 -81 -80 -79 -78 -77 -76 -75 -74 -73 -72 -71 -70 -69 -68 -67 -66 -65 -64 -63 -62 -61 -60 -59 -58 -57 -56 -55 -54 -53 -52 -51 -50 -49 -48 -47 -46 -45 -44 -43 -42 -41 -40 -39 -38 -37 -36 -35 -34 -33 -32 -31 -30 -29 -28 -27...
output:
202 -1 199 197 194 193 191 -1 -1 -1 -1 181 178 -1 -1 173 -1 -1 166 -1 163 -1 158 157 -1 -1 151 149 146 -1 142 -1 139 137 134 -1 131 -1 127 -1 122 -1 118 -1 -1 113 -1 109 106 -1 103 101 -1 97 94 -1 -1 89 86 -1 82 -1 79 -1 74 73 71 -1 67 -1 62 61 58 -1 -1 53 -1 -1 46 -1 43 41 38 37 34 -1 31 29 26 -1 2...
result:
wrong answer 2nd numbers differ - expected: '202', found: '-1'