Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #include <cmath>
- //#include <ext/pb_ds/tree_policy.hpp>
- //#include <ext/pb_ds/assoc_container.hpp>
- #pragma GCC optimize("Ofast")
- #pragma GCC optimize("O3")
- #pragma GCC optimize("unroll-loops")
- #define INF 0x3F3F3F3F
- using namespace std;
- //using namespace __gnu_pbds;
- //template <class T> using Tree = tree<T,null_type,less<T>,rb_tree_tag,tree_order_statistics_node_update>;
- typedef long long ll;
- const ll mod = 1e9;
- const int phash=3;
- const ll modhash=1000000000000000003;
- int ans=0;
- void rec(string s,int pos,int val)
- {
- if (pos==s.size() || s.size()==1)
- {
- ans=max(ans,val);
- return;
- }
- if (s[pos]-1==s[pos+1])
- {
- string t=s;
- t.erase(pos,1);
- rec(t,max(pos-1,0),val+1);
- }
- else
- if (pos>0 && s[pos]-1==s[pos-1])
- {
- string t=s;
- t.erase(pos,1);
- rec(t,max(pos-1,0),val+1);
- }
- rec(s,pos+1,val);
- }
- int main()
- {
- //freopen("input.txt","r",stdin);
- //freopen("output.txt","w",stdout);
- ios_base::sync_with_stdio(false);
- int n;
- cin >> n;
- string s;
- cin >> s;
- //rec(s,0,0);
- for (char c='z';c>='a';c--)
- for (int i=0;i<s.size();i++)
- if (s[i]==c)
- {
- if ((i>0 && s[i]-1==s[i-1]) || (i<s.size()-1 && s[i]-1==s[i+1]))
- {
- s.erase(i,1);
- ans++;
- i=-1;
- }
- }
- cout << ans;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement