読者です 読者をやめる 読者になる 読者になる

SRM 545 Div2 Easy ANDEquation

問題

入力整数列のある要素xを除いたすべての要素のandを取るとxとなる時xを返せ,そのようなxがないならば-1を返せ

解答

xの選択を前通り考え計算すれば良い.

class ANDEquation {
public:
  int restoreY(vector <int> A) {
    int n = A.size();
    int i,j;
    if(n==1) return -1;
    if(n == 2){
      if(A[0] == A[1]) return A[0];
      else return -1;
    }
    for(i=0; i < n; i++){
      int andA=0;
      if(i==0)andA= A[1];
      else andA=A[0];
      for(j=0; j < n;j++){
        if(i != j) andA &= A[j];
      }
      if(andA == A[i]) return andA;
    }
	return -1;
  }
};