Problem: Find Me, Problem Code: FINDMELI

You are given a list of N integers and a value K. Print 1 if K exists in the given list of N integers, otherwise print βˆ’1.


  • First-line will contain two numbers N and K.
  • Next line contains N space-separated numbers.


*Print the answer in a new line.

my code

#include <stdio.h>

int main() 
	int n,k,i,a[100000],count=0;
	scanf("%d %d\n",&n,&k);
	    scanf("%d ",&a[i]);
	    if(a[i] == k)
                count = count + 1;
	if(count == 1)
	return 0;

Problem Link
My Solution Link

Make 2 changes to your code
First change a[100000] to a[100001]
Next change the if else logic you used at last.Change if(count==1) to if(count>=1)
After doing these changes your code should work fine.

1 Like

Thanks a ton :+1:
But please tell how these changes helped?

In your if else condition if a number is present more than once you were executing the else condition and so -1 was getting printed as you only checked if count=1 but count can be more than 1 also when an element is present more than once. And for that array size thing it’s not necessary for your approach but it’s necessary if you use a hashing bashed approach where you store the frequency of each element.

Thank you so much. :v: