QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#387274 | #2629. Let's Win the Election | Rikku_eq | 10 | 52ms | 4968kb | C++14 | 1.3kb | 2024-04-12 11:36:16 | 2024-04-12 11:36:16 |
Judging History
answer
#include <bits/stdc++.h>
#define INF 1000000000
#define N 504
using namespace std;
typedef long long ll;
int n, K;
struct Pnt {
int a, b;
bool operator< (const Pnt &x) const { return b<x.b; }
} p[N];
int suf[N][N];
double f[N];
int main ()
{
scanf("%d %d", &n, &K);
for (int i=1; i<=n; i++) {
scanf("%d %d", &p[i].a, &p[i].b);
if (p[i].b==-1) { p[i].b=INF; }
}
sort(p+1, p+n+1);
suf[n+1][1]=INF;
for (int i=n; i>=1; i--) {
for (int j=1; j<=n-i+1; j++) {
suf[i][j]=min(suf[i+1][j], suf[i+1][j-1]+p[i].a);
}
suf[i][n-i+2]=INF;
}
double ans=INF;
for (int cur=0; cur<=K; cur++) {
f[0]=0; for (int j=1; j<=cur; j++) { f[j]=INF; }
double sum=0;
double res=sum+f[cur]+((double)suf[1][K-cur]/(double)(cur+1));
ans=min(ans, res);
for (int i=1; i<=min(K, n-(K-cur)); i++) {
sum+=((double)p[i].a/(double)(cur+1));
for (int j=cur; j>=0; j--) {
if (j && p[i].b<INF) { f[j]=min(f[j], f[j-1]+((double)p[i].b/(double)j)-((double)p[i].a/(double)(cur+1))); }
}
res=sum+f[cur]+((double)suf[i+1][K-cur]/(double)(cur+1));
ans=min(ans, res);
}
}
printf("%.15lf\n", ans);
return 0;
}
详细
Subtask #1:
score: 5
Accepted
Test #1:
score: 5
Accepted
time: 0ms
memory: 3996kb
input:
1 1 729 -1
output:
729.000000000000000
result:
ok error = 0.000000000
Test #2:
score: 0
Accepted
time: 0ms
memory: 3936kb
input:
2 2 204 -1 96 -1
output:
300.000000000000000
result:
ok error = 0.000000000
Test #3:
score: 0
Accepted
time: 0ms
memory: 3996kb
input:
3 2 639 -1 597 -1 543 -1
output:
1140.000000000000000
result:
ok error = 0.000000000
Test #4:
score: 0
Accepted
time: 0ms
memory: 3896kb
input:
4 3 765 -1 121 -1 409 -1 529 -1
output:
1059.000000000000000
result:
ok error = 0.000000000
Test #5:
score: 0
Accepted
time: 1ms
memory: 4908kb
input:
500 50 16 -1 224 -1 562 -1 783 -1 830 -1 455 -1 744 -1 170 -1 196 -1 89 -1 80 -1 357 -1 400 -1 443 -1 690 -1 732 -1 705 -1 735 -1 776 -1 820 -1 992 -1 811 -1 690 -1 364 -1 148 -1 246 -1 535 -1 184 -1 951 -1 86 -1 324 -1 2 -1 842 -1 386 -1 55 -1 571 -1 840 -1 689 -1 538 -1 287 -1 310 -1 322 -1 471 -1...
output:
2580.000000000000000
result:
ok error = 0.000000000
Test #6:
score: 0
Accepted
time: 1ms
memory: 4928kb
input:
500 125 567 -1 27 -1 102 -1 783 -1 52 -1 120 -1 732 -1 300 -1 193 -1 772 -1 829 -1 109 -1 699 -1 215 -1 392 -1 193 -1 400 -1 260 -1 559 -1 855 -1 974 -1 935 -1 507 -1 773 -1 481 -1 539 -1 369 -1 588 -1 593 -1 922 -1 28 -1 278 -1 553 -1 525 -1 140 -1 845 -1 637 -1 107 -1 641 -1 130 -1 514 -1 104 -1 9...
output:
15729.000000000000000
result:
ok error = 0.000000000
Test #7:
score: 0
Accepted
time: 1ms
memory: 4932kb
input:
500 250 76 -1 295 -1 438 -1 389 -1 573 -1 937 -1 359 -1 81 -1 881 -1 565 -1 620 -1 275 -1 52 -1 572 -1 446 -1 942 -1 338 -1 684 -1 657 -1 616 -1 156 -1 648 -1 492 -1 168 -1 711 -1 348 -1 715 -1 868 -1 29 -1 509 -1 483 -1 658 -1 183 -1 214 -1 733 -1 566 -1 388 -1 962 -1 850 -1 44 -1 191 -1 743 -1 143...
output:
66687.000000000000000
result:
ok error = 0.000000000
Test #8:
score: 0
Accepted
time: 3ms
memory: 4916kb
input:
500 375 565 -1 295 -1 459 -1 572 -1 658 -1 810 -1 178 -1 13 -1 644 -1 975 -1 150 -1 220 -1 557 -1 156 -1 573 -1 543 -1 325 -1 62 -1 427 -1 599 -1 204 -1 6 -1 892 -1 590 -1 801 -1 338 -1 367 -1 311 -1 890 -1 172 -1 606 -1 300 -1 806 -1 150 -1 814 -1 97 -1 712 -1 769 -1 583 -1 792 -1 24 -1 384 -1 136 ...
output:
147876.000000000000000
result:
ok error = 0.000000000
Test #9:
score: 0
Accepted
time: 4ms
memory: 4916kb
input:
500 500 187 -1 429 -1 984 -1 572 -1 718 -1 162 -1 355 -1 922 -1 180 -1 457 -1 881 -1 946 -1 105 -1 273 -1 3 -1 891 -1 290 -1 281 -1 598 -1 432 -1 279 -1 471 -1 123 -1 212 -1 290 -1 975 -1 796 -1 438 -1 43 -1 371 -1 229 -1 121 -1 912 -1 317 -1 41 -1 445 -1 307 -1 777 -1 336 -1 320 -1 699 -1 617 -1 23...
output:
249562.000000000000000
result:
ok error = 0.000000000
Test #10:
score: 0
Accepted
time: 2ms
memory: 4968kb
input:
500 350 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000 -1 1000...
output:
350000.000000000000000
result:
ok error = 0.000000000
Subtask #2:
score: 5
Accepted
Test #11:
score: 5
Accepted
time: 0ms
memory: 3988kb
input:
1 1 791 791
output:
791.000000000000000
result:
ok error = 0.000000000
Test #12:
score: 0
Accepted
time: 3ms
memory: 4920kb
input:
500 150 824 824 524 524 20 20 713 713 668 668 342 342 53 53 660 660 180 180 614 614 504 504 216 216 200 200 551 551 660 660 696 696 194 194 820 820 517 517 209 209 484 484 744 744 904 904 268 268 931 931 265 265 701 701 511 511 591 591 443 443 374 374 296 296 848 848 481 481 771 771 521 521 687 687 ...
output:
341.079314578951141
result:
ok error = 0.000000000
Test #13:
score: 0
Accepted
time: 3ms
memory: 4932kb
input:
500 150 187 -1 798 798 819 819 927 927 9 -1 742 742 268 -1 453 -1 132 132 947 947 683 -1 156 -1 809 -1 681 -1 472 472 656 -1 177 177 347 347 102 102 45 45 215 -1 580 580 371 371 807 807 625 625 11 11 596 596 34 -1 803 803 360 360 45 -1 613 613 490 -1 871 -1 974 -1 710 -1 308 308 698 -1 117 117 962 -...
output:
355.342286415133970
result:
ok error = 0.000000000
Test #14:
score: 0
Accepted
time: 2ms
memory: 4936kb
input:
500 150 910 -1 793 -1 374 374 413 -1 153 153 344 -1 604 -1 793 -1 799 -1 669 669 464 -1 135 135 828 -1 334 -1 983 -1 844 844 443 -1 862 862 589 -1 486 -1 517 517 284 284 962 962 771 771 84 -1 211 211 957 -1 944 944 103 -1 545 -1 394 -1 711 -1 283 -1 317 -1 171 -1 933 -1 857 -1 424 -1 343 -1 746 -1 1...
output:
940.689688879509504
result:
ok error = 0.000000000
Test #15:
score: 0
Accepted
time: 22ms
memory: 4920kb
input:
500 350 444 444 264 264 650 650 694 694 794 794 692 692 20 20 753 753 881 881 31 31 951 951 906 906 321 321 741 741 275 275 467 467 848 848 200 200 378 378 560 560 253 253 949 949 536 536 695 695 478 478 804 804 250 250 106 106 757 757 160 160 641 641 189 189 546 546 900 900 619 619 938 938 804 804 ...
output:
707.046228150462639
result:
ok error = 0.000000000
Test #16:
score: 0
Accepted
time: 22ms
memory: 4928kb
input:
500 350 443 443 806 806 115 -1 954 954 359 -1 608 608 632 632 736 -1 550 550 388 -1 617 617 301 -1 314 314 459 -1 250 -1 84 84 42 42 716 -1 98 98 234 234 620 620 755 755 958 -1 826 826 564 -1 115 -1 183 183 691 691 741 741 309 309 359 -1 916 -1 760 760 759 759 752 752 779 -1 671 671 176 176 163 163 ...
output:
982.134559205842152
result:
ok error = 0.000000000
Test #17:
score: 0
Accepted
time: 9ms
memory: 4916kb
input:
500 350 670 -1 837 -1 828 828 945 -1 256 256 780 -1 546 -1 602 602 219 -1 286 -1 927 927 836 -1 878 878 995 -1 346 -1 245 -1 709 -1 692 -1 519 -1 121 -1 419 -1 914 914 660 660 480 -1 738 -1 116 -1 612 -1 665 -1 57 57 891 -1 626 -1 195 -1 684 -1 625 -1 913 -1 438 -1 582 -1 70 70 35 -1 758 -1 141 141 ...
output:
1956.186568804695071
result:
ok error = 0.000000000
Test #18:
score: 0
Accepted
time: 51ms
memory: 4912kb
input:
500 500 451 451 72 72 216 216 601 601 431 431 326 326 614 614 774 774 459 459 130 130 241 241 523 523 130 130 519 519 726 726 722 722 309 309 969 969 584 584 189 189 210 210 668 668 498 498 390 390 243 243 188 188 752 752 835 835 864 864 177 177 427 427 19 19 51 51 225 225 398 398 1000 1000 740 740 ...
output:
1043.237084576540155
result:
ok error = 0.000000000
Test #19:
score: 0
Accepted
time: 42ms
memory: 4908kb
input:
500 500 488 488 883 -1 875 875 81 81 528 528 588 588 310 -1 363 363 764 -1 773 773 958 -1 545 545 761 -1 108 -1 625 625 986 986 314 314 496 496 813 813 480 -1 663 -1 777 777 849 849 418 -1 834 834 168 168 854 -1 177 177 24 -1 318 -1 631 -1 698 -1 449 449 238 -1 825 -1 318 318 107 -1 816 816 705 -1 5...
output:
1370.744890556793507
result:
ok error = 0.000000000
Test #20:
score: 0
Accepted
time: 17ms
memory: 4968kb
input:
500 500 306 -1 168 168 563 -1 966 -1 906 -1 719 -1 608 -1 587 -1 405 -1 752 -1 723 -1 330 -1 326 -1 622 -1 662 -1 930 -1 20 -1 367 -1 113 -1 851 -1 212 -1 863 -1 479 -1 838 838 743 743 854 -1 392 -1 381 -1 673 673 881 -1 870 -1 72 -1 218 -1 502 -1 649 -1 724 -1 279 -1 672 -1 811 811 836 -1 722 -1 79...
output:
3138.957629833516421
result:
ok error = 0.000000000
Subtask #3:
score: 0
Wrong Answer
Test #21:
score: 11
Accepted
time: 0ms
memory: 3960kb
input:
7 1 309 988 195 951 51 -1 104 279 498 906 410 498 76 -1
output:
51.000000000000000
result:
ok error = 0.000000000
Test #22:
score: 0
Accepted
time: 0ms
memory: 3944kb
input:
7 2 299 867 879 943 170 -1 142 847 219 249 48 119 20 813
output:
68.000000000000000
result:
ok error = 0.000000000
Test #23:
score: 0
Accepted
time: 0ms
memory: 3988kb
input:
7 3 150 170 124 765 351 855 139 -1 182 -1 427 531 945 -1
output:
301.500000000000000
result:
ok error = 0.000000000
Test #24:
score: 0
Accepted
time: 0ms
memory: 3948kb
input:
7 4 20 385 428 551 324 347 392 940 587 840 756 992 73 417
output:
589.500000000000000
result:
ok error = 0.000000000
Test #25:
score: 0
Accepted
time: 0ms
memory: 4004kb
input:
7 5 109 831 41 900 289 743 187 413 77 355 407 427 103 694
output:
517.000000000000000
result:
ok error = 0.000000000
Test #26:
score: 0
Accepted
time: 0ms
memory: 4000kb
input:
7 6 72 970 136 440 497 824 445 762 137 424 200 575 101 437
output:
901.000000000000000
result:
ok error = 0.000000000
Test #27:
score: 0
Accepted
time: 0ms
memory: 3996kb
input:
7 7 339 840 105 640 121 232 347 387 294 514 421 711 516 812
output:
942.083333333333371
result:
ok error = 0.000000000
Test #28:
score: 0
Accepted
time: 0ms
memory: 3960kb
input:
7 5 168 792 231 784 196 761 129 876 172 846 216 740 237 734
output:
881.000000000000000
result:
ok error = 0.000000000
Test #29:
score: -11
Wrong Answer
time: 0ms
memory: 3936kb
input:
7 5 393 646 375 666 374 676 320 635 288 668 284 758 333 702
output:
1259.666666666666742
result:
wrong answer read 1259.666666667 but expected 1258.500000000, error = 1.166666667
Subtask #4:
score: 0
Wrong Answer
Test #36:
score: 12
Accepted
time: 0ms
memory: 3964kb
input:
20 3 43 487 143 720 123 886 88 266 639 739 129 522 300 696 88 889 276 550 653 722 92 157 85 674 452 666 290 517 780 801 49 430 633 932 197 421 20 749 286 479
output:
112.000000000000000
result:
ok error = 0.000000000
Test #37:
score: 0
Accepted
time: 0ms
memory: 3960kb
input:
20 9 30 114 174 185 50 580 851 893 525 729 167 804 13 48 614 700 244 933 348 357 97 970 539 879 339 344 275 430 619 979 810 847 108 896 590 619 214 343 189 662
output:
372.916666666666629
result:
ok error = 0.000000000
Test #38:
score: -12
Wrong Answer
time: 0ms
memory: 3972kb
input:
20 9 208 346 207 411 259 509 644 -1 215 798 335 527 892 998 923 -1 342 639 576 858 275 460 238 951 646 693 820 996 628 -1 461 888 135 395 618 815 370 969 84 812
output:
1021.700000000000045
result:
wrong answer read 1021.700000000 but expected 1021.333333333, error = 0.366666667
Subtask #5:
score: 0
Wrong Answer
Test #61:
score: 33
Accepted
time: 0ms
memory: 4120kb
input:
100 15 824 961 637 866 334 751 463 701 28 953 68 168 589 741 107 298 690 754 20 869 686 990 151 659 90 234 279 477 210 337 481 626 347 916 428 580 445 708 239 584 306 495 932 978 84 896 39 199 498 609 308 668 301 605 275 664 426 444 220 345 429 488 365 698 364 681 57 156 129 824 166 931 412 855 745 ...
output:
324.333333333333371
result:
ok error = 0.000000000
Test #62:
score: 0
Accepted
time: 1ms
memory: 4124kb
input:
100 15 699 980 501 508 700 814 511 619 535 922 883 962 945 -1 686 735 858 884 819 -1 904 966 828 -1 755 766 657 980 633 679 620 867 553 809 900 996 515 819 969 -1 994 -1 898 902 572 704 820 -1 832 -1 768 831 660 845 609 840 578 -1 766 978 723 852 663 934 728 929 660 667 729 990 773 852 654 691 603 -...
output:
1892.320526695526951
result:
ok error = 0.000000000
Test #63:
score: -33
Wrong Answer
time: 0ms
memory: 4144kb
input:
100 30 158 260 214 701 448 516 193 925 222 372 325 419 192 680 52 712 750 865 409 445 98 304 694 802 100 452 446 562 232 986 27 723 475 675 404 497 99 743 274 402 81 703 134 147 493 551 504 821 192 688 503 958 432 500 761 917 26 207 152 292 443 891 635 811 73 241 539 645 679 961 115 380 343 475 445 ...
output:
646.739682539682576
result:
wrong answer read 646.739682540 but expected 646.342857143, error = 0.396825397
Subtask #6:
score: 0
Wrong Answer
Test #81:
score: 0
Wrong Answer
time: 52ms
memory: 4932kb
input:
500 500 215 315 169 657 849 974 865 984 799 919 681 905 236 828 612 980 342 741 203 235 955 997 456 691 358 1000 617 965 691 912 10 295 426 646 72 725 242 788 171 742 256 696 157 347 151 397 229 798 323 427 133 368 833 993 266 525 254 915 371 438 700 889 235 654 400 953 52 277 31 562 15 298 244 383 ...
output:
1849.235133879481054
result:
wrong answer read 1849.235133879 but expected 1767.197500797, error = 82.037633082
Subtask #7:
score: 0
Wrong Answer
Test #88:
score: 0
Wrong Answer
time: 1ms
memory: 4908kb
input:
500 50 170 253 450 885 684 995 425 830 76 273 249 856 188 360 410 635 457 765 184 217 364 807 74 675 504 883 768 975 714 814 222 922 144 940 704 878 780 949 256 325 113 997 436 692 683 812 154 655 227 816 666 750 645 940 537 579 267 671 474 972 188 403 65 459 606 671 375 495 590 722 238 998 157 790 ...
output:
369.719047619047615
result:
wrong answer read 369.719047619 but expected 368.129761905, error = 1.589285714