Obviously it's an easy task but it doesn't work even for one test case and i don't know what's the problem.It works fine on my machine.
removed
removedscanf("%lldd",&a);scanf("%lld",&a);
if(cityA[i1]==cityB[i2]==cityC[i3])
if(cityA[i1]==(cityB[i2]==cityC[i3]))
cityB[i2]==cityC[i3]
if(cityA[i1]==cityB[i2] && cityA[i1]==cityC[i3])
#include <iostream>
using namespace std;
int main()
{
long long n1, n2, n3, a[1000], b[1000], c[1000], i, k=0, l, d, traz, mid;
bool nasao;
scanf("%lld", &n1);
for(i=0;i<n1;i++)
scanf("%lld", &a[i]);
scanf("%lld", &n2);
for(i=0;i<n2;i++)
scanf("%lld", &b[i]);
scanf("%lld", &n3);
for(i=0;i<n1;i++)
scanf("%lld", &c[i]);
sort(a, a+n1);
sort(b, b+n2);
sort(c, c+n3);
for(i=0;i<n1;i++)
{
traz=a[i];
l=0;
d=n2-1;
nasao=false;
while((d-l>0)&&(!nasao))
{
mid=(l+d)/2;
if(b[mid]>traz) d=mid-1;
if(b[mid]<traz) l=mid+1;
if(b[mid]==traz) nasao=true;
}
if(b[l]==traz)
nasao=true;
if(nasao)
{
l=0;
d=n3-1;
nasao=false;
while((d-l>0)&&(!nasao))
{
mid=(l+d)/2;
if(c[mid]>traz) d=mid-1;
if(c[mid]<traz) l=mid+1;
if(c[mid]==traz) nasao=true;
}
if(c[l]==traz)
nasao=true;
if(nasao)
k++;
}
}
printf("%lld", k);
return 0;
}