ae如何做视频模板下载网站,邯郸网络科技鑫洋有限公司,深圳网站制作培训,军事新闻最新消息中国视频题目描述 求不大于 m 的、 质因数集与给定质数集有交集的自然数之和。 输入格式 第一行二个整数 n#xff0c;m。 第二行 n 个整数#xff0c;表示质数集内的元素 p[i]。 输出格式 一个整数#xff0c;表示答案#xff0c;对 376544743 取模。 输入输出样例 输入 #1复制 2 … 题目描述 求不大于 m 的、 质因数集与给定质数集有交集的自然数之和。 输入格式 第一行二个整数 nm。 第二行 n 个整数表示质数集内的元素 p[i]。 输出格式 一个整数表示答案对 376544743 取模。 输入输出样例 输入 #1复制 2 15
3 5 输出 #1复制 60 说明/提示 样例解释所有符合条件的数为 3,5,6,9,10,12,15 其和为 60。 ··· 测试点编号 规模 1 2 3 n*m10^7
4 5 n2m10^9
6 7 n20m10^8
8 9 10 n20m10^9
···单个容斥等差数列求和会TLE三个点而且为什么1算质数 #includecstdio
#includeiostream
#pragma GCC optimize(3)
#pragma GCC optimize(2)
using namespace std;inline int read()
{int x0;char chgetchar();char cch;while(ch9||ch0)cch,chgetchar();while(ch9ch 0)xx*10ch-0,chgetchar();if(c-)xx*-1;return x;
}
void put(long long f)
{if(f0)putchar(-),f-f;int top0,q[20];while(f)q[top]f%10,f/10;topmax(top,1);while(top--)putchar(0q[top1]);
}long int n,m,i,j,a[505];long long ans0;int tot376544743;bool b[1000000005];int main(){nread();mread();for(i1;in;i){a[i]read();if(a[i]1){for(j1;jm;j){ansi;}put(ans%tot);;return 0;}}for(i1;in;i){if(a[i]m){for(j1;j*a[i]m;j){if(b[a[i]*j]false){b[a[i]*j]true;}}}}for(i1;im;i){if(b[i]true){ansi;}}put(ans%tot);return 0;
} 转载于:https://www.cnblogs.com/hrj1/p/11143216.html