ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#215381 | #2478. 数!! | stawalr | 100 | 473ms | 1312kb | C++11 | 2.2kb | 2024-11-28 22:15:59 | 2024-11-28 23:14:01 |
answer
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int mn=5005;
int n,m,a[mn],b[mn],ans,c[mn];
int prm[31630],tp;
bool vis[31630];
int gcd(int x,int y)
{
return (y==0)?x:gcd(y,x%y);
}
void init()
{
for(int i=2;i<31622;i++)
{
if(!vis[i])
{
prm[++tp]=i;
}
for(int j=1;j<=tp;j++)
{
if(i*prm[j]>31622)break;
vis[i*prm[j]]=1;
if(i%prm[j]==0)break;
}
}
}
signed main()
{
init();
scanf("%lld%lld",&n,&m);
for(int i=1;i<=n;i++)
{
scanf("%lld",&a[i]);
}
for(int i=1;i<=m;i++)
{
scanf("%lld",&b[i]);
}
sort(b+1,b+m+1);
for(int i=1;i<=n;i++)
{
int x=a[i];
for(int tj=1;prm[tj]*prm[tj]<=a[i] && tj<=tp;tj++)
{
int j=prm[tj];
if(x%j==0)
{
int ct;
if(b[lower_bound(b+1,b+m+1,j)-b]==j)ct=-1;
else ct=1;
while(x%j==0)
{
x/=j;
ans+=ct;
}
}
}
if(x!=1)
{
ans+=(b[lower_bound(b+1,b+m+1,x)-b]==x)?-1:1;
}
// cerr<<ans<<" "<<i<<'\n';
}
int x=0,ctt=1;
for(int i=1;i<=n;i++)
{
if(gcd(x,a[i])!=x)
{
x=gcd(x,a[i]);
int xx=x;
ctt=0;
for(int tj=1;prm[tj]*prm[tj]<=a[i] && tj<=tp;tj++)
{
int j=prm[tj];
if(xx%j==0)
{
int ct;
if(b[lower_bound(b+1,b+m+1,j)-b]==j)ct=-1;
else ct=1;
while(xx%j==0)
{
xx/=j;
ctt+=ct;
}
}
}
if(xx!=1)
{
ctt+=(b[lower_bound(b+1,b+m+1,xx)-b]==xx)?-1:1;
}
}
c[i]=ctt;
}
x=0;
for(int i=n;i>=1;i--)
{
x=min(x,c[i]);
ans-=x;
}
printf("%lld",ans);
}
详细
小提示:点击横条可展开更详细的信息
Subtask #1:
score: 20
Accepted
Test #1:
score: 20
Accepted
time: 1ms
memory: 1268kb
input:
1 1 2 2
output:
0
result:
ok single line: '0'
Test #2:
score: 0
Accepted
time: 0ms
memory: 1264kb
input:
1 1 2 3
output:
1
result:
ok single line: '1'
Test #3:
score: 0
Accepted
time: 0ms
memory: 1268kb
input:
3 1 2 4 8 2
output:
-3
result:
ok single line: '-3'
Subtask #2:
score: 20
Accepted
Test #4:
score: 20
Accepted
time: 0ms
memory: 1268kb
input:
2 1 18 2 2
output:
2
result:
ok single line: '2'
Test #5:
score: 0
Accepted
time: 1ms
memory: 1264kb
input:
4 2 30 30 5 5 2 3
output:
2
result:
ok single line: '2'
Test #6:
score: 0
Accepted
time: 0ms
memory: 1264kb
input:
15 7 60 30 100 75 20 33 12 35 23 62 32 90 24 52 23 3 5 11 13 19 23 101
output:
7
result:
ok single line: '7'
Subtask #3:
score: 10
Accepted
Test #7:
score: 10
Accepted
time: 0ms
memory: 1268kb
input:
35 1 20736 2304 73728 1296 1728 216 864 3456 110592 10368 147456 288 9216 2592 331776 663552 1152 14...
output:
188
result:
ok single line: '188'
Test #8:
score: 0
Accepted
time: 1ms
memory: 1264kb
input:
35 1 147456 288 165888 55296 442368 864 3456 576 41472 663552 13824 10368 72 6912 5184 1296 4608 737...
output:
188
result:
ok single line: '188'
Test #9:
score: 0
Accepted
time: 0ms
memory: 1268kb
input:
32 1 2916 108 216 1458 34992 54 18 648 5832 6 36 324 432 104976 11664 17496 13122 4374 1296 72 972 1...
output:
-47
result:
ok single line: '-47'
Subtask #4:
score: 20
Accepted
Test #10:
score: 20
Accepted
time: 3ms
memory: 1276kb
input:
100 39 55963308 984638924 41032888 833281249 814004061 372491234 516777004 12668415 19664367 8195111...
output:
425
result:
ok single line: '425'
Test #11:
score: 0
Accepted
time: 3ms
memory: 1276kb
input:
100 30 807458350 234646743 73099793 585439031 78447394 762454844 524527133 533941279 54244237 436163...
output:
402
result:
ok single line: '402'
Test #12:
score: 0
Accepted
time: 3ms
memory: 1264kb
input:
100 7 671352881 601723584 131976667 593070892 190314381 806913088 528979675 530619743 75485283 59444...
output:
405
result:
ok single line: '405'
Test #13:
score: 0
Accepted
time: 0ms
memory: 1276kb
input:
100 43 602359651 412275154 667978141 72412956 149022075 515893598 14253520 397019552 645066892 68270...
output:
420
result:
ok single line: '420'
Test #14:
score: 0
Accepted
time: 3ms
memory: 1276kb
input:
100 45 109852216 659556677 672550819 894716811 742232723 423777589 788776847 494296357 243128233 402...
output:
370
result:
ok single line: '370'
Subtask #5:
score: 15
Accepted
Test #15:
score: 15
Accepted
time: 45ms
memory: 1308kb
input:
2000 83 1 847093291 382203707 11795829 732991987 572089539 46752335 27875514 293639495 101157403 597...
output:
8030
result:
ok single line: '8030'
Test #16:
score: 0
Accepted
time: 44ms
memory: 1308kb
input:
2000 65 1 894158865 825317666 620512681 534233920 13520317 493245981 359586805 136928065 583523268 4...
output:
8100
result:
ok single line: '8100'
Test #17:
score: 0
Accepted
time: 45ms
memory: 1308kb
input:
2000 84 1 382857625 80364735 518911717 420320039 326384172 33753645 125206551 417599708 638300721 17...
output:
7946
result:
ok single line: '7946'
Test #18:
score: 0
Accepted
time: 45ms
memory: 1312kb
input:
2000 34 1 618009607 36020973 929512863 125824987 830425694 101380318 674440470 456055029 273376102 1...
output:
8095
result:
ok single line: '8095'
Test #19:
score: 0
Accepted
time: 41ms
memory: 1308kb
input:
2000 69 1 285988632 34012906 859151285 393316072 84860647 39757901 480944703 318138454 794464495 131...
output:
8031
result:
ok single line: '8031'
Subtask #6:
score: 10
Accepted
Test #20:
score: 10
Accepted
time: 2ms
memory: 1312kb
input:
2000 90 732495 785432 714893 954891 479586 221979 551506 327947 344542 493501 383766 41829 639983 10...
output:
7358
result:
ok single line: '7358'
Test #21:
score: 0
Accepted
time: 4ms
memory: 1308kb
input:
2000 17 53165 611946 416649 674924 172614 557897 245494 53564 48910 638992 441423 321506 285285 2857...
output:
7210
result:
ok single line: '7210'
Test #22:
score: 0
Accepted
time: 4ms
memory: 1312kb
input:
2000 40 577062 708537 60432 666426 937013 183103 673850 188517 916161 665420 573506 146759 273437 14...
output:
7321
result:
ok single line: '7321'
Test #23:
score: 0
Accepted
time: 4ms
memory: 1312kb
input:
2000 27 518985 638050 453258 823576 267106 15755 398108 410949 757682 738086 254637 503914 918541 20...
output:
7327
result:
ok single line: '7327'
Test #24:
score: 0
Accepted
time: 4ms
memory: 1296kb
input:
2000 16 506895 817207 936837 663303 800812 839411 529740 723370 319909 773205 160646 683465 974107 1...
output:
7335
result:
ok single line: '7335'
Subtask #7:
score: 5
Accepted
Test #25:
score: 5
Accepted
time: 44ms
memory: 1308kb
input:
2000 65 79610144 529207300 674986588 907408557 40519993 721716208 342931725 358601080 21591396 87849...
output:
8126
result:
ok single line: '8126'
Test #26:
score: 0
Accepted
time: 45ms
memory: 1312kb
input:
2000 23 112162568 36490648 503891096 890018181 703697300 57604626 227080400 791018720 155329058 7012...
output:
8077
result:
ok single line: '8077'
Test #27:
score: 0
Accepted
time: 41ms
memory: 1312kb
input:
2000 28 530531614 938263045 57748244 47730064 482466018 61305825 388695902 69153315 53561789 3687236...
output:
8264
result:
ok single line: '8264'
Test #28:
score: 0
Accepted
time: 45ms
memory: 1312kb
input:
2000 58 152149073 547665030 925374630 234630834 984704487 562457138 209076336 119568746 176642539 99...
output:
8016
result:
ok single line: '8016'
Test #29:
score: 0
Accepted
time: 45ms
memory: 1308kb
input:
2000 44 371031216 27082163 139024242 570706323 891353786 255487429 826533270 772591212 461650663 544...
output:
8043
result:
ok single line: '8043'
Extra Test:
score: 0
Extra Test Passed