/ 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 1ms 540.0 KiB
#5 Accepted 1ms 768.0 KiB
#6 Accepted 1ms 540.0 KiB
#7 Accepted 1ms 332.0 KiB
#8 Accepted 1ms 540.0 KiB
#9 Accepted 1ms 540.0 KiB
#10 Accepted 1ms 560.0 KiB
#11 Accepted 1ms 772.0 KiB
#12 Accepted 1ms 540.0 KiB
#13 Accepted 1ms 540.0 KiB
#14 Accepted 1ms 540.0 KiB
#15 Accepted 1ms 540.0 KiB
#16 Accepted 1ms 540.0 KiB
#17 Accepted 1ms 540.0 KiB
#18 Accepted 1ms 540.0 KiB
#19 Accepted 1ms 540.0 KiB
#20 Accepted 1ms 540.0 KiB
#21 Accepted 1ms 540.0 KiB
#22 Accepted 1ms 540.0 KiB
#23 Accepted 1ms 516.0 KiB
#24 Accepted 1ms 540.0 KiB
#25 Accepted 1ms 588.0 KiB
#26 Accepted 2ms 496.0 KiB
#27 Accepted 1ms 580.0 KiB
#28 Accepted 1ms 416.0 KiB
#29 Accepted 1ms 616.0 KiB
#30 Accepted 1ms 540.0 KiB
#31 Accepted 1ms 540.0 KiB
#32 Accepted 1ms 540.0 KiB
#33 Accepted 1ms 592.0 KiB
#34 Accepted 1ms 512.0 KiB
#35 Accepted 1ms 540.0 KiB
#36 Accepted 1ms 540.0 KiB
#37 Accepted 1ms 540.0 KiB
#38 Accepted 1ms 556.0 KiB
#39 Accepted 2ms 540.0 KiB
#40 Accepted 2ms 332.0 KiB
#41 Accepted 2ms 328.0 KiB
#42 Accepted 2ms 332.0 KiB
#43 Accepted 2ms 332.0 KiB
#44 Accepted 2ms 328.0 KiB
#45 Accepted 2ms 332.0 KiB
#46 Accepted 2ms 332.0 KiB
#47 Accepted 2ms 384.0 KiB
#48 Accepted 2ms 328.0 KiB
#49 Accepted 2ms 332.0 KiB
#50 Accepted 2ms 328.0 KiB
#51 Accepted 2ms 356.0 KiB
#52 Accepted 1ms 540.0 KiB
#53 Accepted 1ms 328.0 KiB
#54 Accepted 1ms 540.0 KiB
#55 Accepted 1ms 540.0 KiB
#56 Accepted 1ms 772.0 KiB
#57 Accepted 1ms 540.0 KiB
#58 Accepted 1ms 540.0 KiB
#59 Accepted 1ms 772.0 KiB
#60 Accepted 1ms 540.0 KiB
#61 Accepted 2ms 540.0 KiB
#62 Accepted 2ms 496.0 KiB
#63 Accepted 2ms 332.0 KiB
#64 Accepted 1ms 540.0 KiB
#65 Accepted 1ms 516.0 KiB
#66 Accepted 1ms 556.0 KiB
#67 Accepted 1ms 540.0 KiB
#68 Accepted 1ms 540.0 KiB
#69 Accepted 1ms 516.0 KiB
#70 Accepted 1ms 332.0 KiB
#71 Accepted 1ms 332.0 KiB
#72 Accepted 1ms 540.0 KiB
#73 Accepted 1ms 540.0 KiB
#74 Accepted 1ms 540.0 KiB
#75 Accepted 2ms 332.0 KiB
#76 Accepted 2ms 540.0 KiB
#77 Accepted 2ms 540.0 KiB
#78 Accepted 2ms 540.0 KiB
#79 Accepted 2ms 540.0 KiB
#80 Accepted 1ms 540.0 KiB
#81 Accepted 1ms 328.0 KiB
#82 Accepted 1ms 544.0 KiB
#83 Accepted 1ms 540.0 KiB
#84 Accepted 1ms 516.0 KiB
#85 Accepted 1ms 540.0 KiB
#86 Accepted 1ms 540.0 KiB
#87 Accepted 1ms 768.0 KiB
#88 Accepted 1ms 356.0 KiB
#89 Accepted 1ms 540.0 KiB
#90 Accepted 1ms 540.0 KiB
#91 Accepted 1ms 540.0 KiB
#92 Accepted 1ms 540.0 KiB
#93 Accepted 1ms 540.0 KiB
#94 Accepted 1ms 540.0 KiB
#95 Accepted 1ms 540.0 KiB
#96 Accepted 1ms 772.0 KiB
#97 Accepted 1ms 540.0 KiB
#98 Accepted 1ms 512.0 KiB
#99 Accepted 8ms 1020.0 KiB
#100 Accepted 9ms 1.043 MiB

Code

/**
   Author : Kamonasish Roy (Bullet) 
   Key idea:
   First we need to store each position frequancy.
   Then 1 to n, we check i and i+1, max frequency character for each position.
   Just combine and find maximum possible answer.
**/
#include<bits/stdc++.h>
using namespace std;
const long long M=4e5,MOD=1e9+7;
typedef long long ll;


int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    int t=1;
    cin>>t;
    while(t--){
    	int n,m;
    	cin>>n>>m;
    	vector<string>p;
    	vector<vector<int>>occ(m+1,vector<int>(26,0));
    	vector<vector<int>>occ1(m+1,vector<int>(26,0));
        for(int i=1;i<=n;i++){
        	string s;
        	cin>>s;
        	p.push_back(s);
        	for(int j=0;j<m;j++){
        		occ[j][s[j]-'a']++;
        	}
        }
        int best=0;
        for(int i=n-1;i>=0;i--){
        	int cur_best=0;
        	for(int j=0;j<m;j++){
        		int L=0;
        	    int R=0;
        		for(int k=0;k<26;k++)L=max(L,occ[j][k]),R=max(R,occ1[j][k]);
        		cur_best+=L+R;
        		
        	}
        	best=max(best,cur_best);
        	for(int j=0;j<m;j++){
        		char ch=p[i][j];
        		occ[j][ch-'a']--;
        		occ1[j][ch-'a']++;
        	}
        }
        cout<<best<<"\n";
    	
    	
    	
    	
    	}
    	
    	   
    return 0;
 
}

Information

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