QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#397291 | #8017. 计算 | NKheyuxiang | 20 | 132ms | 55376kb | C++14 | 1007b | 2024-04-23 21:30:06 | 2024-04-23 21:30:06 |
Judging History
answer
#include<bits/stdc++.h>
#define N 10000000
#define mod 998244353
using namespace std;
int power(int x,int y){
int res=1;
while(y){
if(y&1) res=1ll*res*x%mod;
x=1ll*x*x%mod;
y=y/2;
}
return res;
}
int phi[N+5],p[1000005],cp;
bool bl[N+5];
void init(){
phi[1]=1;
for(int i=2;i<=N;i++){
if(!bl[i]) p[++cp]=i,phi[i]=i-1;
for(int j=1;j<=cp&&p[j]*i<=N;j++){
bl[i*p[j]]=1;
if(i%p[j]==0){
phi[i*p[j]]=phi[i]*p[j];
break;
}
phi[i*p[j]]=phi[i]*(p[j]-1);
}
}
}
int t,m,a,b,c,d,ans;
long long L,R,n;
int main(){
init();
scanf("%d",&t);
while(t--){
scanf("%d%d%d%d%d",&m,&a,&b,&c,&d);
L=(a==0||b==0)?0:power(m,__gcd(a,b));
R=(c==0||d==0)?0:power(m,__gcd(c,d));
n=R-L;ans=0;
int u=m;
while(u%2==0) u/=2;
for(int i=1;i*i<=u;i++){
if(m%i==0){
ans=(ans+1ll*power(2,n/u*i)*phi[u/i])%mod;
if(i*i!=u) ans=(ans+1ll*power(2,n/i)*phi[i])%mod;
}
}
ans=1ll*ans*power(m,mod-2)%mod;
printf("%d\n",ans);
}
}
详细
Test #1:
score: 5
Accepted
time: 67ms
memory: 55188kb
input:
1 2 0 0 1 1
output:
2
result:
ok 1 number(s): "2"
Test #2:
score: 0
Wrong Answer
time: 132ms
memory: 55268kb
input:
10000 9026580 948 269 622 88 9346507 381 242 826 606 9266080 948 589 28 666 8566088 808 523 402 338 9832014 278 123 146 1000 8000150 613 878 146 740 8296526 404 147 608 398 9062880 494 203 336 382 9375271 823 736 54 676 8465119 505 414 874 772 9535971 784 983 426 802 8258325 817 977 172 862 9656017 ...
output:
721075020 69154119 971907215 942595789 575926994 244809847 907946711 139825236 230035443 555353002 151829069 656462783 272256896 878314690 133863370 169466853 427566165 73460172 847620711 454114465 936764929 326869551 314657769 393412475 83578016 178193691 731633906 814736683 452139582 766173638 432...
result:
wrong answer 1st numbers differ - expected: '731703617', found: '721075020'
Test #3:
score: 0
Wrong Answer
time: 130ms
memory: 55340kb
input:
10000 9060194 192 71 24 178 8861291 135 338 24 794 8800613 173 760 704 362 9878509 367 418 58 964 8183946 856 951 406 316 8087229 458 105 770 342 8269502 205 147 614 334 8877019 851 143 206 10 9044859 710 949 210 584 8887395 571 856 550 428 8208494 383 628 74 646 9949585 697 450 794 738 9938335 224 ...
output:
957754633 900131195 233960077 564401943 463166380 70724440 300358407 734263886 702915805 384854709 872621769 882099237 667452843 879402574 378827798 327223933 705139396 61777573 155601554 158255732 627860535 123637611 330658101 727968970 710521549 808641440 631535347 577326869 249810439 308999930 61...
result:
wrong answer 1st numbers differ - expected: '255347738', found: '957754633'
Test #4:
score: 0
Wrong Answer
time: 124ms
memory: 55188kb
input:
10000 9110615 854 153 494 298 9386442 749 922 386 696 9270958 160 53 630 562 9643022 573 997 226 836 9824638 357 16 34 332 9962202 439 312 40 854 8974913 815 436 710 876 9362731 411 272 998 760 9814831 220 961 962 274 9310979 19 890 782 588 9425378 897 14 212 870 9572172 430 419 334 166 9101141 565 ...
output:
495319995 278040140 497883207 519692628 496527382 567686964 900355070 639193232 856908420 251251141 126295736 409395406 693169510 805696109 126154110 859431362 683973768 713066770 771378474 877997764 560605650 218186695 111606537 664791302 120732943 806315251 498834071 616888031 210500985 951568781 ...
result:
wrong answer 1st numbers differ - expected: '556751174', found: '495319995'
Test #5:
score: 5
Accepted
time: 59ms
memory: 55196kb
input:
4 3 4 5 6 1 2 6 1 8 10 4 1 4 2 2 5 0 10 2 10
output:
1 2 1024 6710912
result:
ok 4 number(s): "1 2 1024 6710912"
Test #6:
score: 0
Wrong Answer
time: 58ms
memory: 55376kb
input:
5 18 10 9 4 6 14 7 4 4 6 18 6 5 8 2 12 5 2 4 10 11 5 6 2 6
output:
769286067 507098274 769286067 919504178 296665006
result:
wrong answer 1st numbers differ - expected: '8581218', found: '769286067'
Test #7:
score: 0
Wrong Answer
time: 61ms
memory: 55316kb
input:
5 11 9 5 3 3 12 8 9 9 6 10 10 7 3 9 10 5 4 3 6 6 9 6 4 8
output:
336307822 997249957 786315294 786315294 856358531
result:
wrong answer 3rd numbers differ - expected: '706112470', found: '786315294'
Test #8:
score: 0
Wrong Answer
time: 62ms
memory: 55352kb
input:
5 4 5 6 5 10 12 8 5 9 3 10 4 9 9 3 10 5 6 6 3 6 5 7 4 8
output:
336848941 997249957 786315294 786315294 811628181
result:
wrong answer 3rd numbers differ - expected: '706112470', found: '786315294'
Test #9:
score: 5
Accepted
time: 64ms
memory: 55268kb
input:
5 11 80 29 27 84 11 31 27 87 6 4 46 54 95 80 6 45 62 88 92 12 70 34 3 75
output:
336307822 336307822 488237375 811628181 306984283
result:
ok 5 number(s): "336307822 336307822 488237375 811628181 306984283"
Test #10:
score: 0
Wrong Answer
time: 54ms
memory: 55232kb
input:
5 58 91 37 75 5 62 99 67 10 75 55 51 92 70 85 55 86 16 50 85 29 54 95 36 78
output:
577880155 584868498 739853128 394067700 460843296
result:
wrong answer 1st numbers differ - expected: '413751362', found: '577880155'
Test #11:
score: 0
Wrong Answer
time: 56ms
memory: 55192kb
input:
5 10 57 94 99 18 19 97 77 63 98 62 44 4 90 35 61 3 54 25 60 62 57 65 95 70
output:
460150081 961491285 328965649 755475251 584868498
result:
wrong answer 1st numbers differ - expected: '329246322', found: '460150081'
Test #12:
score: 5
Accepted
time: 54ms
memory: 55196kb
input:
5 5 0 0 9 5 4 0 0 1 5 2 0 0 7 5 3 0 0 3 7 3 0 0 9 5
output:
8 4 2 4 4
result:
ok 5 number(s): "8 4 2 4 4"
Test #13:
score: 0
Wrong Answer
time: 68ms
memory: 55188kb
input:
5 1931 633 387 65 265 1334 942 887 115 455 1547 511 57 65 920 1815 983 313 575 430 1497 749 773 25 740
output:
443820225 693808686 353695930 566314179 528885496
result:
wrong answer 1st numbers differ - expected: '825344814', found: '443820225'
Test #14:
score: 0
Wrong Answer
time: 60ms
memory: 55272kb
input:
5 1676 347 892 10 545 1552 901 243 595 705 1585 181 32 900 215 1043 147 153 250 195 1343 519 863 610 345
output:
680128702 580051423 231917055 500773530 741049875
result:
wrong answer 1st numbers differ - expected: '733422553', found: '680128702'
Test #15:
score: 0
Wrong Answer
time: 53ms
memory: 55248kb
input:
5 1507 98 480 995 565 1130 476 464 710 925 1556 518 459 65 445 1153 277 530 485 860 1329 191 777 315 905
output:
944537610 53091380 164564897 783608795 170497844
result:
wrong answer 1st numbers differ - expected: '919146531', found: '944537610'
Test #16:
score: 0
Wrong Answer
time: 61ms
memory: 55376kb
input:
5 1260 985 161 855 395 1919 286 557 10 155 1439 586 749 915 730 1297 750 832 245 855 1693 134 289 355 200
output:
910059746 356528534 761605128 48898514 261969883
result:
wrong answer 1st numbers differ - expected: '396457042', found: '910059746'
Test #17:
score: 0
Wrong Answer
time: 60ms
memory: 55272kb
input:
5 95803 976 729 633 237 99669 606 7 489 816 80026 339 914 753 933 97238 844 430 666 537 70169 394 204 411 738
output:
857060368 686804478 916032408 766055604 514867437
result:
wrong answer 1st numbers differ - expected: '263714877', found: '857060368'
Test #18:
score: 0
Wrong Answer
time: 64ms
memory: 55252kb
input:
5 86711 965 851 300 273 97658 466 416 633 603 89583 407 591 411 3 84126 987 514 822 837 79996 9 166 807 15
output:
879620095 469286263 62167695 925346724 200100670
result:
wrong answer 1st numbers differ - expected: '625186250', found: '879620095'
Test #19:
score: 0
Wrong Answer
time: 51ms
memory: 55248kb
input:
5 90325 2 48 195 528 83446 123 809 897 60 92466 526 768 441 447 95582 319 251 843 447 95424 374 218 162 597
output:
723769748 915142280 509620231 879227273 516190367
result:
wrong answer 1st numbers differ - expected: '962318822', found: '723769748'
Test #20:
score: 0
Wrong Answer
time: 58ms
memory: 55344kb
input:
5 80746 952 565 615 192 71949 878 950 357 789 99398 301 646 942 699 94853 670 947 141 276 82409 554 873 375 213
output:
493466847 680434042 216408331 693459230 627757652
result:
wrong answer 1st numbers differ - expected: '896071730', found: '493466847'