编号 | 题目 | 状态 | 分数 | 总时间 | 内存 | 代码 / 答案文件 | 提交者 | 提交时间 |
---|---|---|---|---|---|---|---|---|
#5842 | #1001. A. 神秘谜题 | Compile Error | 0 | 0 ms | 0 K | C++ / 1.6 K | 钱学森班83-邵杰 | 2019-06-28 15:09:57 |
#include <iostream>
#include <stdlib.h>
#include <cstring>
#include <cmath>
#include <ctime>
int N;
long long int num[40000000] = { 1, 1 };
long long int prime[40000000] = { 0 };
long long int num1[40000000] = { 1, 1 };
int number = 0;
void kuaisushaifa();
using namespace std;
int main() {
cin.sync_with_stdio(false);
cin.tie(0);
int n;
cin >> n;
N = 2000000 * n;
kuaisushaifa();
int *arr = new int[n];
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
int temp;
int x = 0;
int y = 0;
for (int i = 0; i < pow(2, n); i++) {
temp = 0;
int k = i;
int kk = 0;
while (k > 0) {
if (k & 1) {
temp += arr[kk];
}
kk++;
k >>= 1;
}
if (num[temp] != 1 && temp > 1) {
x++;
if (num1[temp] != -1) {
y++;
num1[temp] = -1;
}
}
}
cout << x << endl << y;
delete[] arr;
system("pause");
return 0;
}
void kuaisushaifa() //快速筛法求素数
{
for (int i = 2; i <= N; ++i) {
if (!num[i])
prime[number++] = i;
for (int j = 0; j < number && i * prime[j] <= N; j++) {
num[i * prime[j]] = 1; //把所有合数标记为 1
num1[i * prime[j]] = 1;
if (!(i % prime[j])) // *为保证不重复筛选*
break;
}
}
}
编译信息
A TimeLimitExceeded encountered while compiling your code.
[01m[K/sandbox/1/a.cpp:[m[K In function '[01m[Kint main()[m[K':
[01m[K/sandbox/1/a.cpp:56:11:[m[K [01;35m[Kwarning: [m[Kignoring return value of '[01m[Kint system(const char*)[m[K', declared with attribute warn_unused_result [[01;35m[K-Wunused-result[m[K]
[01;35m[Ksystem("pause")[m[K;
[01;35m[K~~~~~~^~~~~~~~~[m[K