Test case 1 fail

#include
#include
using namespace std;

int main() {
int a,b,c;
cin>>a>>b>>c;

int D=(b*b-4*a*c);
int e=sqrt(D);

int r1=(-b+e)/2*a;
int r2=(-b-e)/2*a;

if(D>0)
{cout<<"Real and Distinct"<<endl;
if(r2<r1)
{
cout<<r2<<" "<<r1;
}
else cout<<r1<<' '<<r2;	}

else if(D=0)
{cout<<"Real and Equal"<<endl;
cout<<r2<<" "<<r1;
}

else cout<<"Imaginary";
return 0;

}

Modified Code

Your mistake
else if (D = 0)
it should be
else if (D == 0)