QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#726607 | #5681. Caravan Trip Plans | Nika# | AC ✓ | 1ms | 3840kb | C++17 | 894b | 2024-11-09 03:36:21 | 2024-11-09 03:36:22 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
void solve() {
int n, m; cin >> n >> m;
// vector<int> reverse(61, -1);
vector<int> a(n+1);
a[0] = 0;
vector<vector<ll>> dp(n+1, vector<ll>(61));
dp[0][0] = 1;
for (int i = 1; i <= n; i++) {
cin >> a[i];
// reverse[a[i]] = i;
dp[i][a[i]] = 1;
}
for (int i = 0; i <= n; i++) {
for (int j = 0; j <= 60; j++) {
for (int ip = 0; ip < i; ip++) {
for (int jp = 0; jp < j - (a[i] - a[ip]); jp++) {
dp[i][j] += dp[ip][jp];
}
}
}
}
for (int i = 0; i < m; i++) {
int d, t; cin >> d >> t;
ll ans = 0;
for (int j = 0; j <= t; j++) {
ans += dp[d][j];
}
cout << ans << endl;
}
}
int main(){
cin.tie(0)->sync_with_stdio(0);
int t = 1;
//cin >> t;
while(t--){
solve();
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3640kb
input:
5 1 2 3 5 7 11 3 7
output:
10
result:
ok single line: '10'
Test #2:
score: 0
Accepted
time: 1ms
memory: 3544kb
input:
8 3 2 3 5 7 11 13 17 19 3 7 5 15 8 24
output:
10 126 1287
result:
ok 3 lines
Test #3:
score: 0
Accepted
time: 1ms
memory: 3560kb
input:
15 5 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 7 23 10 35 4 14 5 23 15 56
output:
1716 8008 330 6188 1307504
result:
ok 5 lines
Test #4:
score: 0
Accepted
time: 1ms
memory: 3620kb
input:
20 5 3 5 8 10 13 15 18 20 23 25 28 30 33 35 38 40 43 45 48 50 5 23 7 25 13 39 16 50 20 59
output:
3003 3432 27132 5311735 10015005
result:
ok 5 lines
Test #5:
score: 0
Accepted
time: 1ms
memory: 3556kb
input:
20 5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 7 10 3 7 15 20 20 25 11 18
output:
120 35 15504 53130 31824
result:
ok 5 lines
Test #6:
score: 0
Accepted
time: 1ms
memory: 3616kb
input:
20 5 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 5 15 12 29 8 19 15 40 20 50
output:
252 6188 165 3268760 30045015
result:
ok 5 lines
Test #7:
score: 0
Accepted
time: 1ms
memory: 3840kb
input:
20 5 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 20 60 19 60 18 60 17 60 16 60
output:
137846528820 244662670200 353697121050 421171648758 416714805914
result:
ok 5 lines
Test #8:
score: 0
Accepted
time: 1ms
memory: 3588kb
input:
20 5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 40 20 60 19 60 18 60 17 60 16 60
output:
137846528820 2044802197953900 925029565741050 387221678682300 149608375854525
result:
ok 5 lines
Test #9:
score: 0
Accepted
time: 1ms
memory: 3836kb
input:
12 5 2 3 5 7 11 13 17 19 23 29 31 37 2 60 5 60 7 60 9 60 11 60
output:
1711 3162510 99884400 1101716330 2311801440
result:
ok 5 lines
Test #10:
score: 0
Accepted
time: 1ms
memory: 3608kb
input:
17 5 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 12 60 15 60 17 60 13 60 16 60
output:
834451800 37442160 18 347373600 245157
result:
ok 5 lines
Test #11:
score: 0
Accepted
time: 1ms
memory: 3552kb
input:
20 5 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 3 60 5 60 7 60 13 60 16 60
output:
17296 1370754 38320568 5414950296 4059928950
result:
ok 5 lines
Test #12:
score: 0
Accepted
time: 1ms
memory: 3612kb
input:
20 5 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 3 20 5 30 7 40 13 50 16 60
output:
56 4368 346104 37442160 4059928950
result:
ok 5 lines