Submission #1233106

#TimeUsernameProblemLanguageResultExecution timeMemory
1233106ereringDifference (POI11_roz)C++20
0 / 100
2 ms1508 KiB
#include <bits/stdc++.h> using namespace std; #define pb push_back #define endl '\n' //#define int long long const int N=1e6+5,inf=2e9,MOD=1e9+7; int best[26][26],pref[26],last[26]; signed main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); //a[i]-a[j]-b[i]+b[j] //a[i]-b[i]-a[j]+b[j] for(int i=0;i<26;i++)last[i]=-1; int n; cin>>n; string s; cin>>s; int sol=0; for(int i=0;i<n;i++){ pref[s[i]-'a']++; last[s[i]-'a']=i; for(int j=0;j<26;j++){ if(j==s[i]-'a' || last[j]==-1)continue; int ans=pref[s[i]-'a']-pref[j]; ans+=best[i][j]; // if(ans==6 && i==8 && j==2)cout<<i<<' '<<j<<' '<<pref[s[i]-'a']-pref[j]<<' '<<pref[s[i]-'a']<<' '<<pref[j]<<' '<<best[i][j]<<endl; sol=max(sol,ans); best[j][i]=max(best[j][i],pref[s[i]-'a']-pref[j]-1); } } cout<<sol; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...