/ SeriousOJ /

Record Detail

Time Exceeded


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 532.0 KiB
#2 Accepted 1ms 332.0 KiB
#3 Accepted 2ms 532.0 KiB
#4 Accepted 2ms 492.0 KiB
#5 Accepted 3ms 388.0 KiB
#6 Accepted 2ms 532.0 KiB
#7 Accepted 2ms 536.0 KiB
#8 Accepted 3ms 532.0 KiB
#9 Time Exceeded ≥2096ms ≥13.203 MiB
#10 Time Exceeded ≥2095ms ≥13.156 MiB

Code

// Author : Kamonasish Roy (Bullet)
// Time : 2025-04-04 18:01:48

#include<bits/stdc++.h>
using namespace std;
const long long M=5e5,MOD=1e9+7;
typedef long long ll;
int cost(int x,int y){
	int dif=abs(x-y);
	return min(dif,26-dif);
}
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    int t=1;
    cin>>t;
    while(t--){
    	
    	string s;
    	string target="EIJOORSSU";
    	vector<int>aa(10,0);
    	for(int i=1;i<=9;i++)aa[i]=(int)(target[i-1]-'A');
    	cin>>s;
    	assert(s.size()>=9 && s.size()<=200000);
    	vector<int>bb(s.size()+1,0);
    	for(int i=1;i<=(int)s.size();i++)bb[i]=(int)(s[i-1]-'A');
    	int ans=INT_MAX;
    	for(int cnt=0;cnt<26;cnt++){
    	vector<int>a=aa;
    	vector<int>b=bb;
    	for(int i=1;i<=target.size();i++)a[i]=(aa[i]-cnt+26)%26;
    	for(int i=1;i<=s.size();i++)b[i]=(bb[i]-cnt+26)%26;
    	sort(a.begin()+1,a.end());
    	sort(b.begin()+1,b.end());
         vector<vector<int>>dp((int)s.size()+1,vector<int>(10,M));
         dp[0][0]=0;
         for(int i=1;i<=(int)s.size();i++){
         	dp[i][0]=0;
         	for(int j=1;j<=min(i,(int)target.size());j++){
         		dp[i][j]=min(dp[i][j],dp[i-1][j]);
         		dp[i][j]=min(dp[i][j],dp[i-1][j-1]+cost(b[i],a[j]));
         		
         	}
         }
        
        ans=min(ans,dp[s.size()][target.size()]);
         }
         cout<<ans<<"\n";
       
    	
    	
    	}
    	
    	   
    return 0;
 
}

Information

Submit By
Type
Submission
Problem
P1188 The Mysty Lock
Language
C++17 (G++ 13.2.0)
Submit At
2025-04-05 21:58:10
Judged At
2025-04-05 21:58:10
Judged By
Score
40
Total Time
≥2096ms
Peak Memory
≥13.203 MiB