Untitled

mail@pastecode.io avatar
unknown
c_cpp
a year ago
1.4 kB
6
Indexable
Never
/******************************************************************************

                              Online C++ Compiler.
               Code, Compile, Run and Debug C++ program online.
Write your code in this editor and press "Run" button to compile and execute it.

*******************************************************************************/

#include <iostream>
#include <bits/stdc++.h>
using namespace std;

int util(string s){
    unordered_map<char,int> mp;
    mp['a']=1;
    mp['b']=1;
    mp['c']=2;
    mp['d']=2;
    mp['e']=2;
    mp['f']=3;
    mp['g']=3;
    mp['h']=3;
    mp['i']=4;
    mp['j']=4;
    mp['k']=4;
    mp['l']=5;
    mp['m']=5;
    mp['n']=5;
    mp['o']=6;
    mp['p']=6;
    mp['q']=6;
    mp['r']=7;
    mp['s']=7;
    mp['t']=7;
    mp['u']=8;
    mp['v']=8;
    mp['w']=8;
    mp['x']=9;
    mp['y']=9;
    mp['z']=9;
    int ans = 0;
    int n = s.length();
    for(int len = 1; len<=n;++len){
        int sum = 0;
        for(int i=0;i<len;++i){
            sum+=mp[s[i]];
        }   
        if(sum%len==0)ans++;
        int start = 0;
        int end = start+len;
        while(end<n){
            sum-=mp[s[start]];
            sum+=mp[s[end]];
            if(sum%len==0)ans++;
            start++;
            end++;
        }
    }
    return ans;
}

int main()
{
    //cout<<"Hello World";
    cout<<util("bdh")<<"\n";
    cout<<util("abcd");
    
    return 0;
}