제출 #770406

#제출 시각아이디문제언어결과실행 시간메모리
770406PlurmCopy and Paste 3 (JOI22_copypaste3)C++11
6 / 100
15 ms340 KiB
#include <bits/stdc++.h> using namespace std; long long dp[2505]; int main() { int n; string s; int a, b, c; cin >> n >> s >> a >> b >> c; if (n == 3) { set<char> st; st.insert(s[0]); st.insert(s[1]); st.insert(s[2]); if (st.size() == 3) cout << 3ll * a << endl; else if (st.size() == 2) cout << min(3ll * a, 2ll * a + b + 2ll * c) << endl; else cout << min({3ll * a, 2ll * a + b + 2ll * c, a + b + 3ll * c}) << endl; } else { dp[1] = a; for (int i = 2; i <= n; i++) { dp[i] = dp[i - 1] + a; for (int j = 1; j < i; j++) { dp[i] = min(dp[i], dp[j] + dp[i - j]); dp[i] = min(dp[i], dp[j] + b + 1ll * c * (i / j) + dp[i % j]); } } cout << dp[n] << endl; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...