1 solutions
-
0
#include<bits/stdc++.h> using namespace std; const int N=1e5+10; long long f[N]; long long a[N]; int main() { int n; string s; cin>>n>>s; s=" "+s; for(int i=1;i<=n;i++) { cin>>a[i]; } for(int i=1;i<=n;i++) { map<char,int> h; for(int j=i,c=1;j>=1;j--,c++) { h[s[j]]++; if(h[s[j]]>=2) break; f[i]=max(f[i],f[i-c]+a[c]); } } cout<<f[n]; return 0; }
- 1
Information
- ID
- 2894
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 10
- Tags
- # Submissions
- 10
- Accepted
- 3
- Uploaded By