/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 532.0 KiB
#2 Accepted 20ms 788.0 KiB
#3 Accepted 21ms 836.0 KiB
#4 Accepted 20ms 788.0 KiB
#5 Accepted 44ms 824.0 KiB
#6 Accepted 19ms 788.0 KiB
#7 Accepted 18ms 852.0 KiB
#8 Accepted 20ms 848.0 KiB
#9 Accepted 20ms 836.0 KiB
#10 Accepted 19ms 836.0 KiB
#11 Accepted 19ms 836.0 KiB
#12 Accepted 19ms 648.0 KiB
#13 Accepted 20ms 840.0 KiB
#14 Accepted 20ms 832.0 KiB
#15 Accepted 20ms 820.0 KiB
#16 Accepted 20ms 848.0 KiB
#17 Accepted 18ms 816.0 KiB
#18 Accepted 20ms 788.0 KiB
#19 Accepted 21ms 824.0 KiB
#20 Accepted 19ms 788.0 KiB
#21 Accepted 20ms 848.0 KiB
#22 Accepted 29ms 3.203 MiB
#23 Accepted 20ms 2.531 MiB
#24 Accepted 28ms 3.156 MiB
#25 Accepted 20ms 2.52 MiB
#26 Accepted 28ms 3.039 MiB
#27 Accepted 25ms 3.168 MiB
#28 Accepted 19ms 2.426 MiB
#29 Accepted 50ms 3.098 MiB
#30 Accepted 22ms 3.066 MiB
#31 Accepted 43ms 2.914 MiB
#32 Accepted 29ms 532.0 KiB
#33 Accepted 13ms 780.0 KiB
#34 Accepted 13ms 532.0 KiB
#35 Accepted 29ms 532.0 KiB
#36 Accepted 13ms 576.0 KiB
#37 Accepted 31ms 984.0 KiB
#38 Accepted 24ms 984.0 KiB
#39 Accepted 24ms 984.0 KiB
#40 Accepted 24ms 980.0 KiB
#41 Accepted 24ms 988.0 KiB
#42 Accepted 11ms 2.121 MiB
#43 Accepted 10ms 2.27 MiB
#44 Accepted 10ms 2.266 MiB
#45 Accepted 10ms 2.559 MiB
#46 Accepted 10ms 2.27 MiB
#47 Accepted 11ms 2.496 MiB
#48 Accepted 11ms 2.27 MiB
#49 Accepted 11ms 2.223 MiB
#50 Accepted 11ms 2.27 MiB

Code

/*
 *   Copyright (c) 2025 Emon Thakur
 *   All rights reserved.
 */
#include<bits/stdc++.h>
using namespace std;

int maxofc(vector<int>&c)
{
    int mx = 0;
    for(int i=0;i<26;i++) mx = max(mx , c[i]);
    return mx;
}

void solve(int tc)
{
    // string outp = "output"+to_string(tc)+".txt";
    // string inp = "input"+to_string(tc)+".txt";
    // ofstream file(outp);
    // freopen(inp.c_str(),"r",stdin);

    int t; cin >> t; while(t--)
    {
        int n,m; cin >> n >> m;
        vector<string> s(n);
        for(int i=0;i<n;i++) cin >> s[i];

        vector<vector<int>> mxup(n+1,vector<int>(m,0)),mxd(n+1,vector<int>(m,0));

        for(int j=0;j<m;j++)
        {
            vector<int> c(26,0);
            for(int i=0;i<n;i++)
            {
                c[s[i][j]-'a']++;
                mxup[i][j] = maxofc(c);
            }
            vector<int> cc(26,0);
            for(int i=n-1;i>=0;i--)
            {
                cc[s[i][j]-'a']++;
                mxd[i][j] = maxofc(cc);
            }
        }
        
        int ans = 0;
        for(int i=0;i<n;i++)
        {
            int ans2 = 0;
            for(int j=0;j<m;j++)
            {
                ans2 += mxup[i][j]+mxd[i+1][j];
            }
            ans = max(ans , ans2);
        }
        cout<<ans<<'\n';
        //file<<ans<<'\n';
    }
}

int main()
{
    ios::sync_with_stdio(false); cin.tie(nullptr);
    solve(0);
    int l=98,r=99;
    //for(int i=l;i<=r;i++) solve(i);
}

Information

Submit By
Type
Submission
Problem
P1164 Simple character matching game
Language
C++17 (G++ 13.2.0)
Submit At
2025-02-17 14:53:19
Judged At
2025-02-17 14:53:19
Judged By
Score
100
Total Time
50ms
Peak Memory
3.203 MiB