/ SeriousOJ /

Record Detail

Wrong Answer


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 540.0 KiB
#2 Accepted 191ms 3.387 MiB
#3 Accepted 190ms 3.371 MiB
#4 Accepted 161ms 3.402 MiB
#5 Accepted 158ms 3.383 MiB
#6 Accepted 179ms 3.496 MiB
#7 Accepted 133ms 3.293 MiB
#8 Accepted 187ms 3.297 MiB
#9 Accepted 194ms 3.477 MiB
#10 Accepted 176ms 3.656 MiB
#11 Accepted 149ms 3.363 MiB
#12 Accepted 151ms 3.391 MiB
#13 Accepted 182ms 3.43 MiB
#14 Accepted 151ms 3.555 MiB
#15 Accepted 160ms 3.355 MiB
#16 Accepted 180ms 3.316 MiB
#17 Accepted 168ms 3.344 MiB
#18 Accepted 158ms 3.609 MiB
#19 Accepted 172ms 3.535 MiB
#20 Accepted 162ms 3.238 MiB
#21 Accepted 161ms 3.305 MiB
#22 Accepted 394ms 28.418 MiB
#23 Accepted 256ms 23.816 MiB
#24 Accepted 325ms 27.941 MiB
#25 Accepted 248ms 21.285 MiB
#26 Accepted 388ms 29.301 MiB
#27 Accepted 339ms 29.168 MiB
#28 Accepted 222ms 21.434 MiB
#29 Accepted 319ms 28.91 MiB
#30 Accepted 330ms 28.766 MiB
#31 Accepted 311ms 27.484 MiB
#32 Accepted 22ms 2.84 MiB
#33 Accepted 23ms 2.973 MiB
#34 Accepted 23ms 2.848 MiB
#35 Accepted 22ms 2.848 MiB
#36 Accepted 23ms 2.848 MiB
#37 Wrong Answer 23ms 4.805 MiB
#38 Wrong Answer 22ms 4.988 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 14:57:29
Judged At
2025-02-17 14:57:29
Judged By
Score
72
Total Time
394ms
Peak Memory
29.301 MiB