Submission #14235803
Source Code Expand
#include <bits/stdc++.h>
const int N=1<<18, L=1e5+1, B=512;
int v[N], w[N];
long long f[B][L];
long long solve(int u, int l) {
if(l<=0) return 0;
if(u<B) return f[u][l];
long long ans=solve(u/2, l);
if(l>=w[u]) ans=std::max(ans, solve(u/2, l-w[u])+v[u]);
return ans;
}
int main() {
int n, q;
scanf("%d", &n);
for(int i=1; i<=n; ++i) scanf("%d%d", v+i, w+i);
for(int i=1; i<B; ++i) {
memcpy(f[i], f[i/2], sizeof(f[i]));
for(int j=L; j-->w[i]; )
f[i][j]=std::max(f[i][j-w[i]]+v[i], f[i][j]);
}
scanf("%d", &q);
while(q--) {
int u, l;
scanf("%d%d", &u, &l);
printf("%lld\n", solve(u, l));
}
return 0;
}
Submission Info
| Submission Time |
|
| Task |
D - Knapsack Queries on a tree |
| User |
nealchen |
| Language |
C++ (GCC 9.2.1) |
| Score |
700 |
| Code Size |
653 Byte |
| Status |
AC |
| Exec Time |
1663 ms |
| Memory |
405100 KiB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:14:7: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
14 | scanf("%d", &n);
| ~~~~~^~~~~~~~~~
./Main.cpp:15:31: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
15 | for(int i=1; i<=n; ++i) scanf("%d%d", v+i, w+i);
| ~~~~~^~~~~~~~~~~~~~~~~~
./Main.cpp:21:7: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
21 | scanf("%d", &q);
| ~~~~~^~~~~~~~~~
./Main.cpp:24:8: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
24 | scanf("%d%d", &u, &l);
| ~~~~~^~~~~~~~~~~~~~~~
Judge Result
| Set Name |
Sample |
All |
| Score / Max Score |
0 / 0 |
700 / 700 |
| Status |
|
|
| Set Name |
Test Cases |
| Sample |
sample01.txt, sample02.txt |
| All |
sample01.txt, sample02.txt, in01.txt, in02.txt, in03.txt, in04.txt, in05.txt, in06.txt, in07.txt, in08.txt, in09.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, sample01.txt, sample02.txt |
| Case Name |
Status |
Exec Time |
Memory |
| in01.txt |
AC |
326 ms |
402944 KiB |
| in02.txt |
AC |
290 ms |
402864 KiB |
| in03.txt |
AC |
287 ms |
402944 KiB |
| in04.txt |
AC |
287 ms |
402816 KiB |
| in05.txt |
AC |
406 ms |
404868 KiB |
| in06.txt |
AC |
470 ms |
404904 KiB |
| in07.txt |
AC |
421 ms |
404992 KiB |
| in08.txt |
AC |
1663 ms |
404996 KiB |
| in09.txt |
AC |
618 ms |
404996 KiB |
| in10.txt |
AC |
1254 ms |
404912 KiB |
| in11.txt |
AC |
909 ms |
405092 KiB |
| in12.txt |
AC |
1216 ms |
404988 KiB |
| in13.txt |
AC |
1209 ms |
404988 KiB |
| in14.txt |
AC |
1214 ms |
404856 KiB |
| in15.txt |
AC |
1129 ms |
404984 KiB |
| in16.txt |
AC |
538 ms |
405100 KiB |
| sample01.txt |
AC |
289 ms |
402948 KiB |
| sample02.txt |
AC |
290 ms |
402944 KiB |