QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#670745 | #5681. Caravan Trip Plans | rand123 | AC ✓ | 0ms | 3832kb | C++20 | 1.6kb | 2024-10-24 00:01:32 | 2024-10-24 00:01:32 |
Judging History
answer
#include <bits/stdc++.h>
#define pii pair<int,int>
#define pb push_back
#define yes "YES"
#define no "NO"
#define ll long long
#define MOD 1000000007
#define all(x) x.begin(),x.end()
#define MOD2 998244353
using namespace std;
#include <ext/pb_ds/assoc_container.hpp>
using namespace __gnu_pbds;
template <typename T>
using ordered_set = tree<T, null_type, less<T>, rb_tree_tag,tree_order_statistics_node_update>;
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
void solve(int cas){
int n,m;
cin>>n>>m;
vector<ll> cm(n+1);
for (int i = 1; i <= n; i++) cin>>cm[i];
vector<bool> o(61);
for (int i = 0; i<=n; i++) o[cm[i]] = true;
vector<vector<ll>> dp (61, vector<ll> (61,-1));
int d = -1, c = -1;
auto dfs = [&] (auto&& self, int camp, int days) -> ll{
if (days >= d || camp > c) return 0;
if (camp==c) return 1;
if (dp[camp][days]!=-1) return dp[camp][days];
ll res = self(self, camp + 1, days + 1);
if (o[camp]){
res+=self(self, camp, days + 1);
}
return dp[camp][days]=res;
};
while (m--){
for (int i = 0; i <= 60; i++){
for (int j = 0; j<=60; j++){
dp[i][j] = -1;
}
}
cin>>c>>d;
c = cm[c];
cout<<dfs(dfs,0,0) + dfs(dfs,1,0)<<endl;
}
}
int main(){
int t=1;
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
//cin>>t;
for (int i = 1; i<=t; i++){
solve(i);
}
return 0;
}
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 3568kb
input:
5 1 2 3 5 7 11 3 7
output:
10
result:
ok single line: '10'
Test #2:
score: 0
Accepted
time: 0ms
memory: 3684kb
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: 0ms
memory: 3832kb
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: 0ms
memory: 3604kb
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: 0ms
memory: 3832kb
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: 0ms
memory: 3800kb
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: 0ms
memory: 3636kb
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: 0ms
memory: 3624kb
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: 0ms
memory: 3652kb
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: 0ms
memory: 3684kb
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: 0ms
memory: 3624kb
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: 0ms
memory: 3572kb
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