제출 #1132932

#제출 시각아이디문제언어결과실행 시간메모리
1132932DangKhoizzzzBridž (COCI17_bridz)C++20
50 / 50
1 ms328 KiB
#pragma GCC target ("avx2") #pragma GCC optimization ("O3") #pragma GCC optimization ("unroll-loops") #include <bits/stdc++.h> #define ll long long #define fi first #define se second #define pii pair <int , int> #define ar3 array <int , 3> using namespace std; const int INF = 1e9 + 7; const int maxn = 2e5 + 7; const int maxx = 1e5; int n , a[501] , dp[501][100001] , sum = 0; void solve() // solve bai truoc { cin >> n; for(int i = 1; i <= n; i++) cin >> a[i]; sum = accumulate(a+1 , a+n+1 , 0); for(int i = 0; i <= n; i++) { for(int j = 0; j <= maxx; j++) dp[i][j] = -INF; } dp[0][0] = 0; for(int i = 1; i <= n; i++) { for(int j = 0; j <= maxx; j++) { dp[i][j] = max(dp[i][j] , dp[i-1][j]); if(j + a[i] <= maxx) { dp[i][j + a[i]] = max(dp[i][j + a[i]] , dp[i-1][j] + a[i]); } int diff = abs(dp[i-1][j] - (dp[i-1][j] - j + a[i])); if(diff > maxx) continue; if(dp[i-1][j] - j + a[i] >= dp[i-1][j]) { dp[i][diff] = max(dp[i][diff] , dp[i-1][j] - j + a[i]); } else { dp[i][diff] = max(dp[i][diff] , dp[i-1][j]); } } } cout << sum - dp[n][0] << '\n'; } map <char , int > val; void solve_4() { val['A'] = 4; val['K'] = 3; val['Q'] = 2; val['J'] = 1; val['X'] = 0; int n; cin >> n; int ans = 0; while(n--) { string s; cin >> s; for(char ch: s) { ans += val[ch]; } } cout << ans << '\n'; } int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); solve_4(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...