Hello can someone tell me why this is not passing all cases . Its time complexity is nlogn

My issue

My code

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main(){
    int t;
    cin>>t;
    while(t--){
  int v[26];
        for(int i=0;i<26;i++){
            cin>>v[i];
        }
        string s;
       cin>>s;
        int sum=0;
        for(int i=0;i<26;i++){
            sum+=v[i];
        }
         sort(s.begin(),s.end());
        int f=0;
        int k=0;
        for(int i=0;i<s.length();i++){
            if((int)s[i]!=k){
            f+=(int)s[i]-96;
             k=(int)s[i];
        }
        else continue;
        }
        cout<<sum-f<<endl;
}
}

Problem Link: MATPAN Problem - CodeChef