What is the problem with my AUGUST LUNCHTIME - MATPAN solution?

import java.util.*;

class letters_0
{
public static void main(String[] args)
{
Scanner ob = new Scanner(System.in);
int t = ob.nextInt();
for(int i = 0; i < t; i++)
{
    int a[] = new int[26];
    for(int j = 0; j < 26; j++)
        a[j] = 0;
    int j = 0;
    while(ob.hasNextInt())
        a[j++] = ob.nextInt();
    ob.nextLine();
    String s = ob.nextLine();
    s = s.toLowerCase();
    int h = 0;
    for(int k = 0; k < j; k++)
    {
        int m = 0;
        for(int l = 0, n = s.length(); l < n; l++)
        {
            if((int)s.charAt(l)-96 == a[k])
            {
                m = 1;
                break;
            }
        }
        if(m == 0)
            h += a[k];
    }
    System.out.println(h);
}
}}

i guess you do not the the frequency array concept , see in all these frequencies problems what you need to do is just simply create an array of 26 elements initialized 0.

the simply iterate through the string.

for(i=0;i<s.length();i++)
arr[s[i]-'a']=1;

what this will do is whichever elements are present , for e.g if a is present then 0th pos off arr will be filled with 1 , and then you can just iterate through the array of 26 elements to check which elements are 0 , indicting that they are not present , simply calculate the sum. sum=0

for (int i=0;i<26;i++)
{
if (a[i]==0)
sum+=s[i]
}
print sum

Yes that’s a much better solution to this problem… thanks… :slight_smile: still I am getting the answer from this code… I need to know in which test case am i going wrong?

//