QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#648593 | #8354. T2 | kgqy | 0 | 196ms | 59920kb | C++14 | 1.3kb | 2024-10-17 19:37:50 | 2024-10-17 19:37:50 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define int long long
inline int read(){
int w=0;char ch=getchar();
while(!isdigit(ch)) ch=getchar();
while(isdigit(ch)) w=w*10+ch-'0',ch=getchar();
return w;
}
const int B=70;
int n,m,k;
int f[2000005],g[1005];
int dis[2000005],val[2000005];
int sop[2000005],sx[2000005];
int vis[2000005],ans[2000005];
main(){
n=read(),m=read(),k=read();
memset(g,0x3f,sizeof(g));g[0]=0;
for(int i=1;i<=n;i++) dis[i]=read(),val[i]=read();
for(int i=1;i<=m;i++){
sop[i]=read(),sx[i]=read();
if(sop[i]==1) vis[sx[i]]=1;
}
for(int i=1;i<=n&&dis[i]<B;i++){
if(vis[i]) continue;
for(int j=k;j>=dis[i]*val[i];j--) f[j]=max(f[j],f[j-dis[i]*val[i]]+val[i]);
}
for(int i=n;i&&dis[i]>=B;i--){
if(vis[i]) continue;
for(int j=k/dis[i];j>=val[i];j--) g[j]=min(g[j],g[j-val[i]]+dis[i]*val[i]);
}
for(int i=m;i;i--){
if(sop[i]==2){
int lim=sx[i];
for(int j=0;j<=k/B&&g[j]<=lim;j++){
ans[i]=max(ans[i],j+f[lim-g[j]]);
}
}else{
int p=sx[i];
if(dis[p]<B){
for(int j=k;j>=dis[p]*val[p];j--) f[j]=max(f[j],f[j-dis[p]*val[p]]+val[p]);
}else{
for(int j=k/B;j>=val[i];j--) g[j]=min(g[j],g[j-val[p]]+dis[p]*val[p]);
}
}
}
for(int i=1;i<=m;i++){
if(sop[i]==2) printf("%lld\n",ans[i]);
}
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 11
Accepted
time: 0ms
memory: 16108kb
input:
3205 5000 5000 1 1 2 1 3 1 7 1 8 1 9 1 10 1 11 1 12 2 13 1 14 2 16 1 17 2 20 3 22 1 24 1 26 2 27 1 30 1 32 2 33 1 34 1 41 1 44 2 49 2 51 1 54 2 58 2 61 2 65 2 66 1 68 2 70 1 71 2 72 2 74 8 75 3 76 5 77 1 78 7 79 5 80 5 81 1 82 2 84 1 86 6 87 6 88 3 89 9 90 5 91 1 92 2 93 3 95 7 96 2 97 2 98 8 99 8 1...
output:
81 69 32 40 42 90 32 83 44 50 91 70 53 65 82 50 68 59 86 38 67 70 79 45 50 65 88 43 37 74 29 63 73 7 53 57 75 20 44 50 47 36 73 55 30 42 78 75 47 80 66 87 36 21 73 23 88 37 68 53 57 28 46 59 56 69 28 84 26 41 64 59 35 60 5 42 35 74 63 54 87 73 83 59 39 38 45 48 89 69 62 23 82 84 31 85 56 87 81 80 66...
result:
ok 2487 lines
Test #2:
score: 11
Accepted
time: 0ms
memory: 18180kb
input:
162 5000 5000 836 4 837 5 838 5 839 5 840 4 841 4 842 4 843 4 844 4 845 4 846 5 847 4 848 4 849 5 850 4 851 5 852 5 853 4 854 5 855 4 856 5 857 4 858 4 859 4 860 5 861 5 862 4 863 4 864 4 865 5 866 5 867 4 868 5 869 4 870 4 871 5 872 4 873 4 874 5 875 4 876 4 877 5 878 5 879 4 880 4 881 5 882 5 883 ...
output:
5 0 0 3 0 5 5 0 0 4 5 0 0 0 4 3 0 5 4 0 0 0 0 0 0 4 0 0 4 0 0 5 0 0 3 3 0 0 3 0 0 4 4 0 3 3 0 4 0 0 0 4 0 0 0 0 0 0 0 0 5 0 0 0 0 0 3 0 0 0 4 0 0 5 0 0 3 5 4 0 0 3 0 4 5 4 0 0 5 4 0 0 0 0 3 0 0 0 4 5 5 5 0 4 4 4 3 5 5 5 0 3 0 3 0 4 0 4 5 3 0 0 0 3 0 5 3 0 0 0 0 0 3 0 0 4 0 0 0 0 3 4 5 3 0 4 5 3 5 0 ...
result:
ok 4838 lines
Test #3:
score: 0
Wrong Answer
time: 3ms
memory: 16228kb
input:
3182 5000 5000 1 2597 2 404 3 409 4 220 5 604 6 248 7 48 8 145 9 97 10 356 11 111 12 158 13 192 14 309 15 168 16 251 17 234 18 68 19 223 20 111 21 235 22 152 23 188 24 48 25 75 26 9 27 34 28 153 29 58 30 18 31 153 32 76 33 150 34 52 35 121 36 37 37 7 38 79 39 96 40 101 41 8 42 66 43 61 44 77 45 83 4...
output:
404 464 0 894 701 59 758 461 758 413 758 59 708 607 551 724 59 304 97 402 290 193 194 0 242 49 49 2 363 301 146 204 363 9 97 146 334 333 335 98 410 353 243 343 97 334 343 211 211 1 236 142 9 134 194 147 60 134 168 128 94 101 0 168 76 165 101 100 61 156 94 2 110 109 151 50 9 9 110 63 20 72 44 44 71 5...
result:
wrong answer 6th lines differ - expected: '60', found: '59'
Subtask #2:
score: 0
Wrong Answer
Test #11:
score: 0
Wrong Answer
time: 84ms
memory: 49288kb
input:
1277351 1 2000000 2 2 5 1 7 3 8 4 10 1 12 1 15 2 16 1 18 1 22 1 25 1 28 3 29 1 32 1 35 1 36 1 38 2 40 1 41 2 42 1 43 2 44 2 45 1 48 1 49 1 50 2 54 2 55 2 56 1 58 2 59 2 60 2 62 1 66 1 68 3 69 1 70 3 72 2 76 1 78 1 79 2 81 2 82 3 84 2 85 1 86 2 89 1 90 2 91 2 92 1 93 1 96 3 98 3 99 2 100 3 101 1 102 ...
output:
28628
result:
wrong answer 1st lines differ - expected: '1771', found: '28628'
Subtask #3:
score: 0
Wrong Answer
Test #21:
score: 0
Wrong Answer
time: 196ms
memory: 30532kb
input:
5000 5000 2000000 1 1 2 1 3 1 4 1 6 1 7 1 8 1 9 1 10 1 11 1 14 1 15 3 17 2 18 2 21 1 22 1 24 1 25 3 27 1 28 2 29 1 30 1 31 1 32 1 33 1 34 1 35 1 37 1 38 1 39 1 40 2 41 2 43 1 45 1 47 1 49 1 50 1 51 1 54 1 55 1 56 1 61 1 62 2 64 1 65 1 67 2 68 2 70 2 72 2 74 1 76 3 79 2 82 4 83 2 84 1 88 1 91 1 92 1 ...
output:
28630 591 934 692 980 28630 704 28630 28630 466 28630 28630 28630 28630 1033 28630 770 28630 28630 28630 819 949 28630 28630 28630 28630 28630 28630 812 28630 28630 28630 969 164 28630 28630 28630 28630 625 28630 972 28630 28630 892 936 391 28630 901 28630 28630 28630 28630 28630 28630 386 28630 461...
result:
wrong answer 1st lines differ - expected: '1778', found: '28630'
Subtask #4:
score: 0
Wrong Answer
Test #31:
score: 21
Accepted
time: 27ms
memory: 22792kb
input:
191299 5000 300000 1 1 5 1 6 2 7 1 8 1 10 1 11 2 12 2 17 1 18 1 19 1 20 1 21 1 22 2 25 1 28 1 29 2 30 1 31 2 34 1 36 1 37 1 38 1 40 1 42 1 43 1 44 1 45 1 47 2 48 1 51 1 53 3 54 2 56 2 58 2 59 2 61 2 63 4 64 2 67 1 68 2 69 2 70 1 72 1 76 1 77 1 78 1 80 2 83 1 84 1 87 1 88 1 89 1 91 2 93 1 95 1 96 1 9...
output:
221 531 204 303 706 486 663 481 540 430 356 588 407 521 570 547 403 316 279 618 128 431 492 453 578 427 643 430 569 233 98 439 698 621 647 549 567 299 627 227 365 338 433 306 547 286 631 581 574 629 667 451 680 140 273 682 607 302 323 697 193 613 557 523 517 702 544 570 355 542 390 196 260 430 296 6...
result:
ok 2476 lines
Test #32:
score: 0
Wrong Answer
time: 26ms
memory: 20972kb
input:
191816 5000 300000 1 74901 2 103360 3 89547 4 67750 5 40186 6 28389 7 24182 8 26076 9 5630 10 26706 11 12730 12 17632 13 7414 14 15422 15 8901 16 10990 17 1835 18 9986 19 10576 20 7349 21 9585 22 730 23 11619 24 955 25 9845 26 10221 27 4553 28 6352 29 543 30 6193 31 8335 32 8880 33 7372 34 2859 35 6...
output:
79956 88435 88362 80207 81087 92296 87924 5724 2566 86651 84882 7466 74 17395 772 30125 23415 28 19620 983 17395 1903 1027 20119 17395 14004 12731 12745 957 6586 41 13089 6679 13424 21446 12455 27 961 12680 6405 1778 93 12720 6931 21221 11640 97 21939 5778 20689 15499 17502 1001 9372 7201 12030 1056...
result:
wrong answer 1st lines differ - expected: '75673', found: '79956'
Subtask #5:
score: 0
Wrong Answer
Test #41:
score: 0
Wrong Answer
time: 177ms
memory: 59920kb
input:
1278949 5000 2000000 4 1 9 1 12 1 13 1 15 2 20 1 21 2 26 1 36 1 39 2 43 1 46 2 59 1 64 1 66 1 71 1 73 1 75 1 78 2 83 1 87 1 89 1 92 1 97 1 103 1 104 1 108 1 111 1 113 1 114 1 117 2 118 1 130 1 137 1 140 1 151 1 152 1 155 1 158 2 163 1 164 1 165 1 168 1 172 1 173 1 183 1 185 1 186 1 192 1 208 1 210 2...
output:
272 361 28590 742 550 255 28590 781 28590 187 28590 262 448 426 28590 28590 28590 390 964 28590 28590 529 28590 545 1016 713 844 469 570 28590 426 995 28590 28590 28590 655 28590 538 906 572 415 28590 28590 28590 839 747 367 28590 621 363 28590 663 465 402 28590 28590 734 28590 527 28590 929 476 383...
result:
wrong answer 3rd lines differ - expected: '1207', found: '28590'