/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 540.0 KiB
#2 Accepted 1ms 540.0 KiB
#3 Accepted 1ms 540.0 KiB
#4 Accepted 2ms 540.0 KiB
#5 Accepted 1ms 552.0 KiB
#6 Accepted 2ms 332.0 KiB
#7 Accepted 3ms 328.0 KiB
#8 Accepted 2ms 332.0 KiB
#9 Accepted 2ms 540.0 KiB
#10 Accepted 2ms 540.0 KiB
#11 Accepted 2ms 540.0 KiB
#12 Accepted 2ms 772.0 KiB
#13 Accepted 2ms 540.0 KiB
#14 Accepted 2ms 556.0 KiB
#15 Accepted 2ms 540.0 KiB
#16 Accepted 2ms 540.0 KiB
#17 Accepted 1ms 540.0 KiB
#18 Accepted 1ms 540.0 KiB
#19 Accepted 2ms 540.0 KiB
#20 Accepted 2ms 540.0 KiB
#21 Accepted 2ms 328.0 KiB
#22 Accepted 2ms 540.0 KiB
#23 Accepted 2ms 540.0 KiB
#24 Accepted 2ms 540.0 KiB
#25 Accepted 3ms 540.0 KiB
#26 Accepted 2ms 544.0 KiB
#27 Accepted 2ms 540.0 KiB
#28 Accepted 1ms 540.0 KiB
#29 Accepted 1ms 540.0 KiB
#30 Accepted 1ms 388.0 KiB
#31 Accepted 1ms 388.0 KiB
#32 Accepted 2ms 540.0 KiB
#33 Accepted 2ms 540.0 KiB
#34 Accepted 2ms 540.0 KiB
#35 Accepted 2ms 540.0 KiB
#36 Accepted 1ms 540.0 KiB
#37 Accepted 1ms 324.0 KiB
#38 Accepted 2ms 540.0 KiB
#39 Accepted 2ms 732.0 KiB
#40 Accepted 1ms 360.0 KiB
#41 Accepted 2ms 540.0 KiB
#42 Accepted 1ms 540.0 KiB
#43 Accepted 1ms 332.0 KiB
#44 Accepted 1ms 540.0 KiB
#45 Accepted 2ms 328.0 KiB
#46 Accepted 2ms 328.0 KiB
#47 Accepted 1ms 540.0 KiB
#48 Accepted 4ms 540.0 KiB
#49 Accepted 2ms 540.0 KiB
#50 Accepted 2ms 540.0 KiB
#51 Accepted 1ms 332.0 KiB
#52 Accepted 1ms 540.0 KiB
#53 Accepted 1ms 328.0 KiB
#54 Accepted 1ms 540.0 KiB
#55 Accepted 1ms 344.0 KiB
#56 Accepted 2ms 540.0 KiB
#57 Accepted 2ms 540.0 KiB
#58 Accepted 1ms 332.0 KiB
#59 Accepted 2ms 540.0 KiB
#60 Accepted 3ms 576.0 KiB
#61 Accepted 2ms 540.0 KiB
#62 Accepted 1ms 540.0 KiB
#63 Accepted 1ms 540.0 KiB
#64 Accepted 1ms 540.0 KiB
#65 Accepted 1ms 540.0 KiB
#66 Accepted 1ms 772.0 KiB
#67 Accepted 1ms 540.0 KiB
#68 Accepted 1ms 540.0 KiB
#69 Accepted 1ms 540.0 KiB
#70 Accepted 1ms 540.0 KiB
#71 Accepted 2ms 772.0 KiB
#72 Accepted 1ms 332.0 KiB
#73 Accepted 1ms 540.0 KiB
#74 Accepted 1ms 540.0 KiB
#75 Accepted 1ms 540.0 KiB
#76 Accepted 2ms 540.0 KiB
#77 Accepted 1ms 540.0 KiB
#78 Accepted 1ms 588.0 KiB
#79 Accepted 1ms 540.0 KiB
#80 Accepted 1ms 540.0 KiB
#81 Accepted 2ms 540.0 KiB
#82 Accepted 1ms 332.0 KiB
#83 Accepted 1ms 540.0 KiB
#84 Accepted 1ms 772.0 KiB
#85 Accepted 1ms 516.0 KiB
#86 Accepted 1ms 540.0 KiB
#87 Accepted 1ms 568.0 KiB
#88 Accepted 2ms 604.0 KiB
#89 Accepted 1ms 540.0 KiB
#90 Accepted 1ms 540.0 KiB
#91 Accepted 1ms 772.0 KiB
#92 Accepted 1ms 540.0 KiB
#93 Accepted 2ms 540.0 KiB
#94 Accepted 2ms 540.0 KiB
#95 Accepted 2ms 540.0 KiB
#96 Accepted 2ms 540.0 KiB
#97 Accepted 2ms 332.0 KiB
#98 Accepted 1ms 540.0 KiB
#99 Accepted 8ms 1.027 MiB
#100 Accepted 8ms 1.777 MiB

Code

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

#define all(x) (x).begin(), (x).end()
#define repeat(x) for(int taramtam = 0;taramtam<(x);taramtam++)

template<typename S, typename T> void semax(S &a, const T &b) {if (a<b) a = b;}
template<typename S, typename T> void semin(S &a, const T &b) {if (a>b) a = b;}

void dbg_out() { cerr << endl; }
template<typename Head, typename... Tail>
void dbg_out(Head H, Tail... T) { cerr << ' ' << H;dbg_out(T...);}
#define debug(...) cerr << "(" #__VA_ARGS__ << "):", dbg_out(__VA_ARGS__)

const int INF = 1e9+100;
const int MOD = 1e9+7;

#define int long long
using ll = long long;
using pii = pair<int, int>;
using pll = pair<ll, ll>;
template<typename S>
void displayvec(vector<S> a){
    for (S thing:a){
        cout << thing << ' ';
    }
    cout << '\n';
}
template <typename S> 
void readvec(vector<S>& a){
    for (S& thing:a){
        cin>>thing;
    }
}

void solve(){
    int n, m;cin>>n>>m;
    vector<string> strs;
    vector<vector<int>> ha(m, vector<int>(26, 0));
    vector<int> prs = {0};
    for(int i = 0;i<n;i++){
        string s;cin>>s;
        strs.push_back(s);
        for(int j = 0;j<m;j++){
            ha[j][s[j]-'a']++;
        }
        int locres=0;
        for(int j = 0;j<m;j++){
            locres+=*max_element(all(ha[j]));
        }

        prs.push_back(locres);
    }
    int res =0;
    vector<vector<int>> ha2(m, vector<int>(26, 0));
    for(int i = 0;i<n;i++){
        string s=strs[n-i-1];
        for(int j = 0;j<m;j++){
            ha2[j][s[j]-'a']++;
        }
        int locres=0;
        for(int j = 0;j<m;j++){
            locres+=*max_element(all(ha2[j]));
        }
        res=max(res, locres+prs[n-i-1]);
    }
    cout << res << '\n';

}







signed main() {
    ios_base::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);
    //freopen("compin.txt", "r", stdin);
	//freopen("compout.txt", "w", stdout);
    int TestCase = 1;
    cin >> TestCase;
    while(TestCase--) solve();
}

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:49:57
Judged At
2025-02-17 14:49:57
Judged By
Score
100
Total Time
8ms
Peak Memory
1.777 MiB