fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. string s;
  6. cin>>s;
  7. int n = s.size();
  8. unordered_map<char, int> idx;
  9. vector<long> pos(n,0);
  10. long ans = INT_MAX;
  11. for(int i=0;i<n;i++){
  12. if(s[i]=='A'){
  13. pos[i]=1;
  14. }
  15. else{
  16. char prev = (char)(s[i]-1);
  17. if(idx.find(prev) != idx.end()){
  18. pos[i] = pos[idx[prev]] + (i - idx[prev]);
  19. }
  20. else{
  21. pos[i] = INT_MAX;
  22. }
  23.  
  24. if(s[i] == 'Z'){
  25. ans = min(ans, pos[i]);
  26. }
  27. }
  28. idx[s[i]]=i;
  29. }
  30. cout<<ans<<endl;
  31. }
Success #stdin #stdout 0.01s 5392KB
stdin
ABCDEFDIVGHIJKLMNICPCOPQRSTUVWXYZO
stdout
33