문제 링크: https://www.acmicpc.net/problem/18917
합이랑 xor한 값을 저장해두는 변수를 만들어서 풀면 됩니다
int 범위 넘어가기 때문에 long long을 써야 합니다.
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr), cout.tie(nullptr);
ll sum = 0;
ll xor_val = 0;
int m;
cin >> m;
while (m--) {
int q;
cin >> q;
int x;
switch (q) {
case 1:
cin >> x;
sum += x;
xor_val ^= x;
break;
case 2:
cin >> x;
sum -= x;
xor_val ^= x;
break;
case 3:
cout << sum << '\n';
break;
case 4:
cout << xor_val << '\n';
break;
}
}
return 0;
}
반응형
'Online Judge > 백준' 카테고리의 다른 글
[백준][C++] 1269: 대칭 차집합 (0) | 2020.07.19 |
---|---|
[백준][C++] 17370: 육각형 우리 속의 개미 (0) | 2020.07.19 |
[백준][C++] 1072: 게임 (0) | 2020.07.18 |
[백준][C++] 1051: 숫자 정사각형 (0) | 2020.07.17 |
[백준][C++] 17390: 이건 꼭 풀어야 해! (0) | 2020.07.17 |