Răspuns :
#include <iostream>
#include <cstring>
using namespace std;
struct Elev {
char nume[20], optiune[20];
float notaR, notaM; notaO;
} x, y;
int main() {
cin>>x.nume>>x.optiune>>x.notaR>>x.notaM>>x.notaO;
cin>>y.nume>>y.optiune>>y.notaR>>y.notaM>>y.notaO;
//a)
cout<<(float)(x.notaR+x.notaM+x.notaO)/3<<endl;
//b)
if ((strstr(x.optiune, y.optiune)!=NULL && strlen(x.optiune)==strlen(y.optiune)) cout<<"da"<<endl;
else cout<<"nu"<<endl;
//c)
if (strstr("istorie", x.optiune)!=NULL && strlen("istorie")==strlen(x.optiune)) cout<<x.optiune<<endl;
if (strstr("istorie", y.optiune)!=NULL && strlen("istorie")==strlen(y.optiune)) cout<<y.optiune<<endl;
//d)
if ((float)(x.notaR+x.notaM+x.notaO)/3>(float)(y.notaR+y.notaM+y.notaO)/3) cout<<x.nume;
else cout<<y.nume;
return 0;
}