1 solutions
-
1
#include<bits/stdc++.h> using namespace std; const int N=10010; int a[N],b[N]; int n,m; int ans=0; void dfs(int x,int w) //走到这个位置, 分数为w { if(x>n) { ans=max(ans,w); return ; } for(int i=1;i<=m;i++) { dfs(x+a[i],w+b[x]); } } int main() { cin>>n>>m; for(int i=1;i<=m;i++) { cin>>a[i]; } for(int i=1;i<=n;i++) { cin>>b[i]; } dfs(1,0); cout<<ans; return 0; }
- 1
Information
- ID
- 2540
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 5
- Tags
- (None)
- # Submissions
- 19
- Accepted
- 2
- Uploaded By