QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#407447#5100. 卡牌游戏D_F_S0 299ms20776kbC++141.6kb2024-05-08 18:28:192024-05-08 18:28:19

Judging History

你现在查看的是最新测评结果

  • [2024-05-08 18:28:19]
  • 评测
  • 测评结果:0
  • 用时:299ms
  • 内存:20776kb
  • [2024-05-08 18:28:19]
  • 提交

answer

#include<bits/stdc++.h>
#define inl inline
using namespace std;
typedef long long ll;
const int N=5e5+5,B=710,IB=1<<21; char IN[IB],*IS=IN+IB,*IT=IS,OU[IB],*OS=OU,*OT=OS+IB;
#define getchar() (IS==IT&&(IT=IN+fread(IS=IN,1,IB,stdin)),IS==IT?EOF:*IS++)
#define flush() (fwrite(OU,1,OS-OU,stdout),OS=OU)
#define putchar(x) (OS==OT&&flush(),*OS++=x)
int n,m,T,sq,gc[B][B],a[N]; ll f[N],g[N],h[N];
inl int Read()
{
	int s=0; char c; while(!isdigit(c=getchar()));
	for(;isdigit(c);c=getchar()) s=s*10+c-'0'; return s;
}
inl void Write(ll x,char y)
{
	int c=0,s[20]; do s[++c]=x%10; while(x/=10);
	while(c) putchar(s[c--]+'0'); putchar(y);
}
inl int GCD(int x,int y) {return y?(x<=sq&&y<=sq?gc[x][y]:GCD(y,x%y)):x; }
inl ll G(int i,int j) {ll t=a[i]/GCD(a[i],a[j])*a[j]; return m/t*t; }
inl void Solve()
{
	memset(h,0,sizeof(h));
	for(int i=1,j=1,k,c;i<=n;++i)
	{
		f[i]=max(f[i-1],f[i]); for(;f[j]+m<=f[i-1];++j);
		if(i-j<=100) for(k=j;k<i;++k) f[i]=max(f[k]+G(k,i),f[i]);
		else if(a[i]<=sq)
		{
			for(c=1,k=i-1;k&&(c+=a[k]<=sq)<=3;--k) f[i]=max(f[k]+G(k,i),f[i]);
			for(c=1,k=i+1;k<=n&&(c+=a[k]<=sq)<=3;++k) f[k]=max(f[i]+G(i,k),f[k]);
		}
		else
		{
			for(k=a[i];k<=m;k+=a[i]) f[i]=max(h[k],f[i]);
			for(k=a[i];k<=m;k+=a[i]) h[k]=max(f[i]+k,h[k]);
		}
//~ cerr<<i<<"  "<<f[i]<<"\n";
	}
}
int main()
{
	int on=Read(); m=Read(); T=Read(); Read(); sq=sqrt(m);
//~ cerr<<sq<<'\n';
	for(int i=0,j;i<=sq;++i) for(j=i;j<=sq;++j) gc[i][j]=gc[j][i]=__gcd(i,j);
	for(int i=1,t;i<=on;++i) (t=Read())<=m&&(a[++n]=t);
	Solve(); Write(f[n],' '); if(T)
	{
		
	}
	flush(); return 0;
}

详细

Subtask #1:

score: 0
Wrong Answer

Test #1:

score: 0
Wrong Answer
time: 4ms
memory: 17640kb

input:

1000 100000 1 1
69 99 297 63 277 271 109 268 209 181 100 195 282 137 211 270 87 10 247 294 138 108 33 258 152 265 304 154 201 66 269 189 5 162 134 276 144 187 107 170 16 135 253 67 156 138 299 165 70 258 158 239 186 168 277 261 86 173 153 14 35 226 158 258 129 152 295 235 271 31 192 92 153 236 142 1...

output:

91045064 

result:

wrong answer Answer contains longer sequence [length = 2], but output contains 1 elements

Subtask #2:

score: 0
Wrong Answer

Test #8:

score: 0
Wrong Answer
time: 0ms
memory: 16856kb

input:

10000 100000 1 2
91 50 303 100 42 100 36 306 191 90 99 45 196 144 64 35 98 147 180 115 16 209 62 315 270 295 26 60 139 135 98 39 148 7 239 133 268 218 179 225 253 289 289 279 31 244 288 68 128 275 147 2 222 146 303 215 51 212 84 4 64 183 153 58 230 13 34 58 45 237 301 303 241 92 140 306 60 83 273 23...

output:

913775751 

result:

wrong answer Answer contains longer sequence [length = 2], but output contains 1 elements

Subtask #3:

score: 0
Wrong Answer

Test #15:

score: 0
Wrong Answer
time: 48ms
memory: 18612kb

input:

100000 300000 1 3
274679 257449 79355 22007 205440 219549 7516 102115 226913 157081 9451 228050 8862 198356 270934 221218 162391 221194 235433 234134 70219 45552 211652 248648 164511 74601 168682 139466 189586 258255 264158 218369 21734 195969 71728 299881 104633 21390 36649 25670 121247 41503 20806...

output:

219290273 

result:

wrong answer 1st numbers differ - expected: '226109485', found: '219290273'

Subtask #4:

score: 0
Wrong Answer

Test #16:

score: 0
Wrong Answer
time: 4ms
memory: 16512kb

input:

100000 300000 1 4
22 98 92 49 86 56 11 69 100 65 99 79 39 97 40 88 47 28 79 43 75 13 43 41 69 56 62 47 21 28 69 95 1 92 92 60 78 15 3 20 96 15 95 82 38 9 80 26 64 21 19 48 17 27 79 7 25 66 100 70 94 16 21 61 13 57 42 60 66 18 99 97 69 63 89 20 73 22 64 41 19 9 9 45 64 97 4 71 41 93 65 49 81 23 4 52 ...

output:

29908227273 

result:

wrong answer Answer contains longer sequence [length = 2], but output contains 1 elements

Subtask #5:

score: 0
Wrong Answer

Test #19:

score: 10
Accepted
time: 3ms
memory: 17496kb

input:

100000 100000 0 5
160 79 241 305 285 252 135 178 99 105 215 136 248 256 255 309 149 226 295 99 253 269 40 126 95 232 201 201 275 306 119 314 91 222 89 135 62 240 100 178 274 99 107 278 238 193 222 311 218 242 46 74 180 253 141 100 33 54 267 90 274 199 64 279 132 183 135 266 258 208 169 89 194 114 11...

output:

9112169164 

result:

ok 1 number(s): "9112169164"

Test #20:

score: 10
Accepted
time: 5ms
memory: 17360kb

input:

100000 100000 0 5
321 321 321 318 320 318 317 321 319 320 317 318 321 317 317 318 319 321 321 319 319 317 319 321 318 319 318 317 321 320 317 321 318 317 319 319 318 319 321 321 319 317 321 319 317 321 318 318 317 317 320 317 319 319 317 321 317 319 317 320 321 317 319 318 317 321 320 317 319 319 32...

output:

4644520350 

result:

ok 1 number(s): "4644520350"

Test #21:

score: 10
Accepted
time: 44ms
memory: 16888kb

input:

100000 100000 0 5
99741 99785 99945 99814 99716 99908 99993 99894 99992 99727 99769 99900 99825 99721 99912 99721 99888 99996 99842 99772 99841 99748 99895 99698 99839 99706 99883 99905 99751 99761 99711 99779 99864 99935 99927 99930 99715 99687 99987 99861 99830 99791 99929 99904 99687 99755 99802 ...

output:

461415122 

result:

ok 1 number(s): "461415122"

Test #22:

score: 10
Accepted
time: 12ms
memory: 18340kb

input:

100000 100000 0 5
99994 321 174 99919 154 22327 319 99768 99776 251 167 26 136 204 238 94 318 99949 13887 320 317 99776 319 239 24 162 183 99805 321 270 93 321 63 32 117 320 317 99820 63 99877 193 99825 320 321 99753 99858 99911 318 319 99884 319 99800 93 99737 99740 60184 99885 99950 317 99939 320 ...

output:

4590723790 

result:

ok 1 number(s): "4590723790"

Test #23:

score: 10
Accepted
time: 0ms
memory: 17900kb

input:

100000 100000 0 5
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

output:

9999900000 

result:

ok 1 number(s): "9999900000"

Test #24:

score: 0
Wrong Answer
time: 86ms
memory: 16496kb

input:

100000 100000 0 5
87564 98687 95082 86046 59414 92993 1441 87994 42233 49845 91114 32159 31160 50038 67919 29885 82383 87674 3363 86912 54853 14045 25007 87793 44557 70863 70455 8631 19993 83876 70320 64268 29173 6914 73921 56750 67652 13938 49602 6379 43284 13161 12319 72250 50131 47821 87829 49558...

output:

117650438 

result:

wrong answer 1st numbers differ - expected: '128441922', found: '117650438'

Subtask #6:

score: 0
Wrong Answer

Test #26:

score: 0
Wrong Answer
time: 7ms
memory: 18260kb

input:

100000 100000 1 6
99 254 235 123 310 237 248 278 100 34 213 275 66 242 297 120 272 185 140 149 276 165 163 162 119 142 79 6 66 163 134 296 176 12 45 96 152 200 59 127 279 249 67 111 208 49 161 121 153 72 280 164 310 266 228 23 101 197 88 245 32 23 51 140 206 112 207 164 207 40 262 245 224 258 167 15...

output:

9115701137 

result:

wrong answer Answer contains longer sequence [length = 2], but output contains 1 elements

Subtask #7:

score: 0
Wrong Answer

Test #33:

score: 10
Accepted
time: 13ms
memory: 20200kb

input:

300000 300000 0 7
101 52 102 151 14 514 86 100 239 399 486 520 239 489 176 112 517 478 215 539 134 46 200 54 307 48 78 220 205 433 509 312 381 13 457 515 481 223 326 300 193 103 289 203 393 25 506 137 7 239 201 343 165 107 135 487 16 162 177 369 415 246 59 169 127 522 207 465 418 287 311 248 298 311...

output:

82066272311 

result:

ok 1 number(s): "82066272311"

Test #34:

score: 10
Accepted
time: 17ms
memory: 18968kb

input:

300000 300000 0 7
548 549 551 548 548 551 552 548 548 549 552 549 548 551 549 549 552 550 551 548 549 549 550 551 551 550 550 550 548 550 548 549 549 550 549 548 549 548 552 548 548 549 550 552 552 548 549 551 550 551 549 551 552 552 550 550 552 552 552 551 548 552 549 548 551 548 551 549 550 552 55...

output:

47202787514 

result:

ok 1 number(s): "47202787514"

Test #35:

score: 0
Wrong Answer
time: 164ms
memory: 19484kb

input:

300000 300000 0 7
299530 299495 299739 299518 299807 299905 299934 299986 299534 299485 299609 299687 299648 299548 299730 299512 299495 299793 299748 299841 299978 299927 299766 299761 299987 299956 299664 299825 299911 299707 299843 299937 299755 299773 299493 299624 299755 299529 299758 299955 29...

output:

3046967281 

result:

wrong answer 1st numbers differ - expected: '3100324815', found: '3046967281'

Subtask #8:

score: 0
Wrong Answer

Test #40:

score: 0
Wrong Answer
time: 13ms
memory: 18696kb

input:

300000 300000 1 8
404 482 307 14 397 186 112 173 197 389 278 419 417 196 138 264 161 330 395 465 84 516 235 507 515 247 222 268 105 119 435 328 514 337 356 246 204 370 364 174 512 538 129 135 203 348 247 58 430 238 165 397 203 145 175 435 158 297 443 446 467 3 493 294 394 375 157 405 385 449 116 361...

output:

82044763846 

result:

wrong answer Answer contains longer sequence [length = 2], but output contains 1 elements

Subtask #9:

score: 0
Wrong Answer

Test #47:

score: 15
Accepted
time: 18ms
memory: 20776kb

input:

500000 500000 0 9
464 653 212 650 549 203 500 292 366 468 464 660 240 393 279 587 405 403 148 638 438 251 441 92 302 270 56 271 559 639 474 193 644 310 48 548 559 289 163 439 372 425 121 459 620 636 282 610 133 283 215 317 451 166 431 21 139 229 261 260 9 112 71 468 287 312 680 330 95 140 92 44 238 ...

output:

227886764436 

result:

ok 1 number(s): "227886764436"

Test #48:

score: 15
Accepted
time: 32ms
memory: 20212kb

input:

500000 500000 0 9
708 709 709 709 711 711 708 712 708 712 711 710 711 712 708 710 708 711 708 710 710 708 711 712 710 708 709 711 710 710 711 709 708 709 712 710 710 711 710 708 712 709 709 711 711 708 710 711 709 708 711 708 708 708 710 709 708 708 710 712 712 708 709 712 709 709 711 708 712 710 71...

output:

131022284688 

result:

ok 1 number(s): "131022284688"

Test #49:

score: 0
Wrong Answer
time: 299ms
memory: 20748kb

input:

500000 500000 0 9
499461 499989 499588 499771 499583 499588 499416 499874 499345 499373 499956 499737 499996 499492 499806 499879 499558 499463 499974 499970 499586 499736 499527 499607 499569 499403 499368 499460 499523 499722 499637 499319 499928 499794 499501 499329 499314 499585 499840 499739 49...

output:

7238945432 

result:

wrong answer 1st numbers differ - expected: '7549726882', found: '7238945432'

Subtask #10:

score: 0
Wrong Answer

Test #54:

score: 0
Wrong Answer
time: 12ms
memory: 20036kb

input:

500000 500000 1 10
508 318 336 300 675 515 168 520 687 644 236 670 590 176 478 99 119 556 430 385 117 89 483 321 194 194 314 236 438 142 18 499 161 495 649 255 190 667 396 600 165 376 547 145 390 43 485 645 32 685 54 276 322 353 659 516 102 440 476 351 282 94 222 594 98 399 22 434 50 76 84 504 2 173...

output:

227911469762 

result:

wrong answer Answer contains longer sequence [length = 2], but output contains 1 elements