QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#895663 | #5131. Grinding Gravel | tanghao | WA | 22ms | 4096kb | C++14 | 1.4kb | 2025-02-12 15:58:36 | 2025-02-12 15:58:48 |
Judging History
answer
# include <bits/stdc++.h>
# define pb push_back
//# define int long long
using namespace std;
mt19937 rnd(time(0));
int RAND(int l, int r){return l + rnd() % (r-l+1);}
const int N = 105;
int n, k, ans = 100000, tot = 0, tmp = 0, arr[N], cnt[15], a[105], b[105];
int calc(){
int ret = 0, num = 0;
for (int i = 1;i <= tot;i++){
num += arr[i];
if (num > k) ret++;
num %= k;
}
return ret;
}
void SA(){
int lst = calc(); ans = min(ans, lst);
for (double T = tot - 0.1;T > 1e-6;T *= 0.999){
int ch = (int)T + 1;
for (int i = 1;i <= ch;i++) a[i] = RAND(1, tot), b[i] = RAND(1, tot), swap(arr[a[i]], arr[b[i]]);
int nxt = calc(); ans = min(ans, nxt);
if (nxt < lst || exp((lst-nxt) / T) * UINT_MAX > rnd()) lst = nxt;
else for (int i = ch;i >= 1;i--) swap(arr[a[i]], arr[b[i]]);
}
}
int main(){
scanf("%d%d", &n, &k);
for (int i = 1;i <= n;i++) scanf("%d", &arr[i]), tmp += (arr[i] / k - (arr[i] % k == 0)), cnt[arr[i] % k]++;
for (int i = 1;i <= (k-1)/2;i++){
int num = min(cnt[i], cnt[k-i]);
cnt[i] -= num; cnt[k-i] -= num;
}
if (k % 2 == 0){
cnt[k/2] &= 1;
}
// for (int i = 0;i <= k;i++) printf("%d ", cnt[i]); puts("");
// puts("**8");
for (int i = 1;i < k;i++) while (cnt[i]--) arr[++tot] = i;
// printf("%d\n", tot);
SA(); SA();
// printf("%d %d %d\n", tmp, ans, tmp + ans);
printf("%d\n", tmp+ans);
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3968kb
input:
5 8 2 4 5 6 7
output:
1
result:
ok single line: '1'
Test #2:
score: 0
Accepted
time: 0ms
memory: 3584kb
input:
2 5 12 13
output:
4
result:
ok single line: '4'
Test #3:
score: 0
Accepted
time: 0ms
memory: 3840kb
input:
1 1 1
output:
0
result:
ok single line: '0'
Test #4:
score: 0
Accepted
time: 0ms
memory: 3840kb
input:
1 8 8
output:
0
result:
ok single line: '0'
Test #5:
score: 0
Accepted
time: 0ms
memory: 3968kb
input:
4 8 7 7 7 3
output:
2
result:
ok single line: '2'
Test #6:
score: 0
Accepted
time: 0ms
memory: 3968kb
input:
7 8 7 7 7 7 7 7 6
output:
5
result:
ok single line: '5'
Test #7:
score: 0
Accepted
time: 1ms
memory: 3968kb
input:
6 8 7 7 6 6 3 3
output:
2
result:
ok single line: '2'
Test #8:
score: 0
Accepted
time: 0ms
memory: 3840kb
input:
1 1 100
output:
99
result:
ok single line: '99'
Test #9:
score: 0
Accepted
time: 0ms
memory: 3840kb
input:
2 2 99 123
output:
110
result:
ok single line: '110'
Test #10:
score: 0
Accepted
time: 1ms
memory: 3968kb
input:
3 4 1 1 2
output:
0
result:
ok single line: '0'
Test #11:
score: 0
Accepted
time: 1ms
memory: 3712kb
input:
6 7 1 6 2 5 3 4
output:
0
result:
ok single line: '0'
Test #12:
score: 0
Accepted
time: 0ms
memory: 3840kb
input:
3 6 3 9 6
output:
1
result:
ok single line: '1'
Test #13:
score: 0
Accepted
time: 1ms
memory: 3968kb
input:
6 6 5 5 5 5 5 5
output:
4
result:
ok single line: '4'
Test #14:
score: 0
Accepted
time: 3ms
memory: 3968kb
input:
12 6 5 5 5 5 5 5 5 5 5 5 5 5
output:
8
result:
ok single line: '8'
Test #15:
score: 0
Accepted
time: 0ms
memory: 3840kb
input:
4 6 11 91 53 13
output:
26
result:
ok single line: '26'
Test #16:
score: 0
Accepted
time: 0ms
memory: 3584kb
input:
2 4 2 2
output:
0
result:
ok single line: '0'
Test #17:
score: 0
Accepted
time: 0ms
memory: 3712kb
input:
2 6 3 3
output:
0
result:
ok single line: '0'
Test #18:
score: 0
Accepted
time: 0ms
memory: 3840kb
input:
2 8 4 4
output:
0
result:
ok single line: '0'
Test #19:
score: 0
Accepted
time: 0ms
memory: 3840kb
input:
2 8 3 5
output:
0
result:
ok single line: '0'
Test #20:
score: 0
Accepted
time: 0ms
memory: 3840kb
input:
2 8 2 6
output:
0
result:
ok single line: '0'
Test #21:
score: 0
Accepted
time: 0ms
memory: 3840kb
input:
2 8 1 7
output:
0
result:
ok single line: '0'
Test #22:
score: 0
Accepted
time: 0ms
memory: 3840kb
input:
2 8 8 8
output:
0
result:
ok single line: '0'
Test #23:
score: 0
Accepted
time: 1ms
memory: 3840kb
input:
2 7 3 4
output:
0
result:
ok single line: '0'
Test #24:
score: 0
Accepted
time: 0ms
memory: 3840kb
input:
2 7 2 5
output:
0
result:
ok single line: '0'
Test #25:
score: 0
Accepted
time: 1ms
memory: 3840kb
input:
2 7 1 6
output:
0
result:
ok single line: '0'
Test #26:
score: 0
Accepted
time: 0ms
memory: 3840kb
input:
2 7 7 7
output:
0
result:
ok single line: '0'
Test #27:
score: 0
Accepted
time: 1ms
memory: 3968kb
input:
6 4 3 3 3 3 2 2
output:
2
result:
ok single line: '2'
Test #28:
score: 0
Accepted
time: 2ms
memory: 3968kb
input:
7 6 5 5 5 5 4 3 3
output:
3
result:
ok single line: '3'
Test #29:
score: 0
Accepted
time: 1ms
memory: 3968kb
input:
9 6 5 5 5 5 5 5 2 2 2
output:
3
result:
ok single line: '3'
Test #30:
score: 0
Accepted
time: 3ms
memory: 4096kb
input:
12 8 7 7 7 7 7 7 7 7 2 2 2 2
output:
4
result:
ok single line: '4'
Test #31:
score: 0
Accepted
time: 3ms
memory: 4096kb
input:
11 8 7 7 7 7 7 7 7 7 4 2 2
output:
5
result:
ok single line: '5'
Test #32:
score: 0
Accepted
time: 3ms
memory: 4096kb
input:
12 8 7 7 7 7 7 7 7 7 7 3 3 3
output:
6
result:
ok single line: '6'
Test #33:
score: 0
Accepted
time: 3ms
memory: 4096kb
input:
13 8 7 7 7 7 7 7 7 7 7 3 2 2 2
output:
5
result:
ok single line: '5'
Test #34:
score: 0
Accepted
time: 6ms
memory: 4096kb
input:
22 8 3 7 7 7 7 7 3 7 7 7 7 2 7 7 7 7 2 7 7 3 7 3
output:
10
result:
ok single line: '10'
Test #35:
score: 0
Accepted
time: 5ms
memory: 3968kb
input:
23 8 2 7 2 7 2 7 7 7 7 2 7 7 7 7 7 2 7 2 7 7 7 7 4
output:
9
result:
ok single line: '9'
Test #36:
score: 0
Accepted
time: 8ms
memory: 4096kb
input:
35 8 7 4 7 2 2 2 7 7 2 7 7 2 7 2 7 7 2 7 7 7 7 7 7 2 7 2 7 7 2 7 7 7 7 7 7
output:
13
result:
ok single line: '13'
Test #37:
score: 0
Accepted
time: 7ms
memory: 4096kb
input:
34 8 7 7 2 7 7 7 4 2 7 7 7 2 7 7 4 7 7 2 2 7 7 7 7 7 7 7 7 7 2 2 2 7 7 7
output:
14
result:
ok single line: '14'
Test #38:
score: 0
Accepted
time: 0ms
memory: 3712kb
input:
2 1 7 1
output:
6
result:
ok single line: '6'
Test #39:
score: 0
Accepted
time: 0ms
memory: 3840kb
input:
5 3 9 8 9 1 3
output:
6
result:
ok single line: '6'
Test #40:
score: 0
Accepted
time: 2ms
memory: 3968kb
input:
7 8 9 7 9 4 1 1 1
output:
2
result:
ok single line: '2'
Test #41:
score: 0
Accepted
time: 1ms
memory: 3968kb
input:
10 8 7 6 9 1 9 2 9 2 3 8
output:
3
result:
ok single line: '3'
Test #42:
score: 0
Accepted
time: 2ms
memory: 3968kb
input:
8 8 7 7 7 7 7 7 7 7
output:
6
result:
ok single line: '6'
Test #43:
score: 0
Accepted
time: 1ms
memory: 3840kb
input:
24 2 514 646 507 336 663 582 44 119 14 255 477 733 868 695 689 438 436 834 755 279 835 261 45 1
output:
5496
result:
ok single line: '5496'
Test #44:
score: 0
Accepted
time: 2ms
memory: 3968kb
input:
51 6 364 684 415 206 236 516 26 553 159 909 523 179 872 497 467 57 71 92 160 576 530 331 873 396 143 869 252 353 383 465 74 292 752 447 397 440 785 56 833 620 476 15 272 624 181 897 848 10 83 256 5
output:
3394
result:
ok single line: '3394'
Test #45:
score: 0
Accepted
time: 0ms
memory: 3840kb
input:
92 2 347 813 321 822 432 867 59 210 454 727 589 145 908 258 260 393 613 221 926 412 952 548 841 431 1000 659 414 108 424 968 298 177 778 759 718 916 179 356 225 318 133 933 466 311 179 132 273 328 576 503 310 86 274 877 51 795 351 664 438 517 64 442 87 656 381 320 186 540 978 916 375 102 302 982 361...
output:
22144
result:
ok single line: '22144'
Test #46:
score: 0
Accepted
time: 0ms
memory: 3712kb
input:
100 2 331 105 883 924 945 224 148 722 773 404 804 756 686 376 638 198 484 671 468 914 970 914 596 634 63 920 539 817 71 500 71 909 770 332 9 244 542 88 851 470 719 22 617 458 559 240 158 420 109 308 995 898 770 996 103 393 148 147 689 993 80 840 686 490 126 309 970 358 233 320 103 565 679 567 798 37...
output:
23957
result:
ok single line: '23957'
Test #47:
score: 0
Accepted
time: 2ms
memory: 4096kb
input:
100 5 694943 322344 846836 825949 994558 54484 662239 389207 9277 14943 124401 985751 197760 397802 169567 864822 621922 673296 749626 994716 827790 978968 873809 683602 109800 55780 303680 858150 637396 475321 817565 925924 623876 852112 33705 245041 183564 485136 988383 455143 248185 266343 485841...
output:
10497604
result:
ok single line: '10497604'
Test #48:
score: 0
Accepted
time: 4ms
memory: 4096kb
input:
100 6 435596 446821 134399 836412 964534 995193 943569 642741 767304 805570 794333 252951 40657 106229 175570 779085 957248 865523 194905 823131 638463 677759 173867 579834 878465 216776 33282 737953 258742 240672 437265 914318 648560 232749 118472 487873 410290 683231 951215 909125 22724 460916 789...
output:
8165264
result:
ok single line: '8165264'
Test #49:
score: 0
Accepted
time: 3ms
memory: 3968kb
input:
100 7 158625 248802 217683 277847 632126 692209 970195 240134 431167 982189 101717 750386 973285 873007 189259 7288 102849 500152 542934 251100 168435 861148 5870 374679 113137 142311 841457 722087 306901 12351 790024 807149 519962 650653 406542 555654 880141 230768 99951 357709 367797 785507 361980...
output:
7096796
result:
ok single line: '7096796'
Test #50:
score: 0
Accepted
time: 3ms
memory: 3968kb
input:
100 8 315124 213896 145551 468189 777719 386335 991854 912135 312080 390897 439376 945117 110230 591971 89997 32931 622760 939742 152296 831645 482862 585683 401528 295826 610527 116113 55299 810350 696828 907235 166458 428368 587875 666540 858861 250579 406124 731389 374462 390227 553459 191227 918...
output:
5958658
result:
ok single line: '5958658'
Test #51:
score: 0
Accepted
time: 4ms
memory: 3968kb
input:
100 8 359681 814588 567161 817942 847670 382389 302368 310100 793078 153410 481082 818222 286048 672955 25105 347219 774994 472511 366743 866725 474321 111067 899516 941737 663624 176449 315944 357749 718033 90904 596027 913623 765277 187115 774014 95862 525048 431785 420871 823719 16913 228363 9616...
output:
6396049
result:
ok single line: '6396049'
Test #52:
score: 0
Accepted
time: 1ms
memory: 3712kb
input:
100 1 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 100000...
output:
98999901
result:
ok single line: '98999901'
Test #53:
score: 0
Accepted
time: 0ms
memory: 3712kb
input:
100 8 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 1000000 100000...
output:
12374901
result:
ok single line: '12374901'
Test #54:
score: 0
Accepted
time: 0ms
memory: 3840kb
input:
100 1 2 2 1 2 2 1 1 1 2 2 1 2 1 2 1 2 1 1 1 1 2 2 1 1 1 1 1 2 1 2 2 2 2 1 2 1 2 1 2 1 2 1 1 2 1 2 1 2 1 2 2 1 1 2 2 1 1 2 1 1 2 2 2 2 2 2 1 2 1 2 1 1 2 2 1 2 1 1 1 1 2 2 1 2 1 2 1 1 1 2 2 1 1 2 1 2 1 2 2 2
output:
50
result:
ok single line: '50'
Test #55:
score: 0
Accepted
time: 0ms
memory: 3840kb
input:
2 2 1 1
output:
0
result:
ok single line: '0'
Test #56:
score: 0
Accepted
time: 1ms
memory: 3840kb
input:
100 2 2 1 1 2 1 1 2 2 1 2 1 1 2 2 1 2 1 2 2 1 2 1 2 2 2 2 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 2 2 1 2 1 2 1 2 2 2 1 1 2 1 2 1 1 2 1 1 2 2 1 2 1 1 1 2 2 2 2 1 2 1 1 2 1 2 2 2 2 1 1 1 2 2 2 1 2 2 1 2 2 2 2
output:
0
result:
ok single line: '0'
Test #57:
score: 0
Accepted
time: 20ms
memory: 3968kb
input:
99 3 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:
0
result:
ok single line: '0'
Test #58:
score: 0
Accepted
time: 1ms
memory: 3840kb
input:
100 3 1 1 1 2 1 2 1 1 2 2 1 1 2 2 1 1 2 2 1 1 1 1 1 2 1 2 1 1 1 2 1 1 2 1 2 2 1 1 1 1 2 2 1 2 2 1 2 2 1 1 2 2 2 1 1 2 1 1 1 2 2 1 1 2 2 2 2 2 1 2 2 1 2 1 1 1 2 2 1 1 2 2 1 1 2 2 1 2 2 2 2 2 1 1 2 2 2 2 1 2
output:
0
result:
ok single line: '0'
Test #59:
score: 0
Accepted
time: 5ms
memory: 3968kb
input:
97 3 3 3 2 3 2 2 3 1 3 1 3 3 2 1 2 3 3 2 3 2 3 2 2 3 3 3 3 1 3 3 2 3 3 2 2 2 2 1 2 2 1 3 3 3 3 3 1 3 3 3 2 3 3 3 2 2 3 3 3 2 3 3 2 2 2 2 1 3 1 3 1 3 3 1 3 2 3 2 3 3 3 3 2 1 2 2 2 3 2 2 3 3 3 2 3 1 2
output:
7
result:
ok single line: '7'
Test #60:
score: 0
Accepted
time: 7ms
memory: 3968kb
input:
67 4 2 3 2 2 2 3 3 3 2 3 3 3 3 3 2 2 2 2 2 1 3 2 2 3 3 3 3 2 2 2 2 3 3 2 2 2 3 3 3 3 3 2 2 2 2 2 3 2 2 3 2 2 2 3 3 2 3 2 2 3 3 2 2 3 2 3 3
output:
15
result:
ok single line: '15'
Test #61:
score: 0
Accepted
time: 20ms
memory: 3968kb
input:
98 5 4 4 3 3 3 3 4 3 4 3 3 3 4 3 4 4 3 3 3 4 4 3 4 4 3 4 4 4 4 3 3 4 3 4 3 4 4 4 4 4 4 3 3 4 3 4 4 3 3 4 4 3 3 3 4 3 4 3 4 4 4 4 4 4 4 4 3 4 4 3 4 4 3 3 4 3 3 4 4 4 4 3 3 4 4 4 3 4 4 4 3 3 3 4 4 3 4 3
output:
42
result:
ok single line: '42'
Test #62:
score: 0
Accepted
time: 21ms
memory: 3968kb
input:
100 5 2 2 4 4 4 4 4 4 4 2 4 2 2 2 2 4 2 4 2 4 4 4 2 4 4 2 4 4 2 2 2 2 2 4 2 4 4 4 4 4 4 4 4 4 2 4 2 2 2 4 4 4 4 4 4 2 4 2 4 4 4 4 4 4 2 4 4 4 2 4 4 4 4 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 2 2 1 2 2 4 4 2 4
output:
31
result:
ok single line: '31'
Test #63:
score: 0
Accepted
time: 15ms
memory: 4096kb
input:
67 6 2 2 5 2 5 2 5 2 5 5 2 5 2 2 5 5 5 5 2 5 2 5 2 2 2 3 5 2 5 5 5 2 5 5 5 2 2 5 2 2 2 5 2 5 2 2 5 5 5 5 5 5 2 5 2 5 2 5 2 2 2 5 2 2 2 5 2
output:
17
result:
ok single line: '17'
Test #64:
score: 0
Accepted
time: 21ms
memory: 4096kb
input:
100 6 5 3 5 5 5 2 5 5 2 5 2 2 5 2 5 2 2 2 5 5 5 5 2 2 5 2 5 5 2 5 5 2 5 2 2 5 5 2 2 5 5 5 5 5 5 5 5 2 2 5 5 5 2 5 2 5 2 5 2 2 2 5 2 2 2 2 5 5 2 5 5 2 2 5 2 2 2 2 5 2 2 5 5 2 2 2 2 2 2 2 2 5 2 2 5 5 2 2 5 5
output:
25
result:
ok single line: '25'
Test #65:
score: 0
Accepted
time: 22ms
memory: 3968kb
input:
99 6 5 5 2 2 5 5 5 2 2 5 5 2 2 5 2 2 5 5 2 2 2 2 5 2 2 5 2 5 2 2 5 2 2 5 2 2 5 5 5 5 5 5 5 5 2 5 5 2 2 2 2 2 2 2 5 5 5 5 2 2 2 5 2 2 5 2 5 5 2 2 2 5 2 5 5 5 2 2 2 2 5 5 2 5 2 5 2 2 5 5 2 5 5 5 5 5 5 2 5
output:
25
result:
ok single line: '25'
Test #66:
score: -100
Wrong Answer
time: 21ms
memory: 4096kb
input:
99 7 2 1 2 2 2 1 1 4 1 4 4 2 2 2 4 2 4 1 1 4 2 4 1 1 2 1 1 1 1 1 4 1 4 4 2 2 1 4 1 2 1 2 2 1 4 1 4 4 4 2 1 2 4 4 2 4 4 1 4 2 4 2 1 4 2 2 2 4 2 1 2 4 2 1 4 2 2 1 1 1 2 1 2 1 4 2 2 4 4 4 4 1 2 4 4 1 1 4 1
output:
2
result:
wrong answer 1st lines differ - expected: '0', found: '2'