/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 540.0 KiB
#2 Accepted 195ms 3.43 MiB
#3 Accepted 195ms 3.461 MiB
#4 Accepted 162ms 3.324 MiB
#5 Accepted 153ms 3.199 MiB
#6 Accepted 184ms 3.566 MiB
#7 Accepted 138ms 3.262 MiB
#8 Accepted 155ms 3.41 MiB
#9 Accepted 204ms 3.332 MiB
#10 Accepted 177ms 3.523 MiB
#11 Accepted 150ms 3.324 MiB
#12 Accepted 151ms 3.391 MiB
#13 Accepted 180ms 3.391 MiB
#14 Accepted 155ms 3.469 MiB
#15 Accepted 160ms 3.305 MiB
#16 Accepted 181ms 3.355 MiB
#17 Accepted 171ms 3.332 MiB
#18 Accepted 160ms 3.445 MiB
#19 Accepted 175ms 3.293 MiB
#20 Accepted 169ms 3.25 MiB
#21 Accepted 162ms 3.574 MiB
#22 Accepted 402ms 28.473 MiB
#23 Accepted 266ms 23.82 MiB
#24 Accepted 338ms 28.152 MiB
#25 Accepted 262ms 21.273 MiB
#26 Accepted 401ms 29.125 MiB
#27 Accepted 346ms 28.965 MiB
#28 Accepted 240ms 21.422 MiB
#29 Accepted 337ms 28.688 MiB
#30 Accepted 344ms 28.77 MiB
#31 Accepted 325ms 27.336 MiB
#32 Accepted 24ms 2.848 MiB
#33 Accepted 24ms 2.824 MiB
#34 Accepted 24ms 2.848 MiB
#35 Accepted 24ms 2.844 MiB
#36 Accepted 24ms 2.824 MiB
#37 Accepted 30ms 4.805 MiB
#38 Accepted 30ms 4.805 MiB
#39 Accepted 29ms 4.797 MiB
#40 Accepted 31ms 5.02 MiB
#41 Accepted 30ms 4.805 MiB
#42 Accepted 38ms 21.27 MiB
#43 Accepted 38ms 21.27 MiB
#44 Accepted 37ms 21.27 MiB
#45 Accepted 44ms 22.062 MiB
#46 Accepted 43ms 22.336 MiB
#47 Accepted 44ms 22.105 MiB
#48 Accepted 43ms 22.02 MiB
#49 Accepted 38ms 21.27 MiB
#50 Accepted 39ms 21.453 MiB

Code

#include <bits/stdc++.h>
using namespace std;

const int MAX = 2e5;

int main() {
    ios::sync_with_stdio(0);
    cin.tie(NULL), cout.tie(NULL);
    
    int t;
    cin >> t;
    
    while (t--)
    {
        int n, m;
        cin >> n >> m;
        
        vector< vector< vector<int> > > A(26, vector< vector<int> >(n + 1, vector<int>(m)));
        
        for (int i = 1; i <= n; i++)
        {
            string s;
            cin >> s;
            
            for (int j = 0; j < 26; j++)
                for (int k = 0; k < m; k++)
                    A[j][i][k] = A[j][i - 1][k] + (s[k] - 'a' == j);
        }
        
        int res = 0;
        
        for (int i = 1; i <= n; i++)
        {
            int curr = 0;
            
            for (int k = 0; k < m; k++)
            {
                int max1 = 0, max2 = 0;
                
                for (int j = 0; j < 26; j++)
                {
                    max1 = max(max1, A[j][i][k]);
                    max2 = max(max2, A[j][n][k] - A[j][i][k]);
                }
                
                curr += max1 + max2;
            }
            
            res = max(res, curr);
        }
        
        cout << res << "\n";
    }
    
    return 0;
}

Information

Submit By
Type
Submission
Problem
P1164 Simple character matching game
Contest
Brain Booster #8
Language
C++17 (G++ 13.2.0)
Submit At
2025-02-17 16:51:09
Judged At
2025-02-17 16:51:09
Judged By
Score
100
Total Time
402ms
Peak Memory
29.125 MiB