Sachin and his girlfriend editorial

Pre - requisite:

STL (C++)

Difficulty :

Easy

Problem statement:

We need to print the modulo 1007 of those numbers whose remainder value have not yet appeared.

Explanation:

we can use a map<long long int, long long int> m where the first index specifies the remainder value.
Initially the value of m[i] for all i is 0 by default. Whenever we encounter a number we check if m[n%1007] is equal to 0 or not. If it is zero print the value and increment m[n%1007].

Solution:

#include
using namespace std;
main()
{
	long long int t,a,r;
	map m;
	scanf("%lld",&t);
	while(t--)
	{
		scanf("%lld",&a);
		r=a%1007;
		if(m[r]==0)
		{
			printf("%lld\n",r);
			m[r]++;
		}
	}
return 0;
}
//