QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#875537#9541. Expanding Arraywarner1129#WA 1ms3712kbC++201.8kb2025-01-29 22:43:242025-01-29 22:43:26

Judging History

This is the latest submission verdict.

  • [2025-01-29 22:43:26]
  • Judged
  • Verdict: WA
  • Time: 1ms
  • Memory: 3712kb
  • [2025-01-29 22:43:24]
  • Submitted

answer

#include <bits/stdc++.h>

using namespace std;

template<class F, class S>
ostream &operator<<(ostream &s, const pair<F, S> &v) {
	s << "(" << v.first << ", " << v.second << ")";
	return s;
}
template<ranges::range T> requires (!is_convertible_v<T, string_view>)
istream &operator>>(istream &s, T &&v) { 
	for (auto &&x : v) s >> x; 
	return s; 
}
template<ranges::range T> requires (!is_convertible_v<T, string_view>)
ostream &operator<<(ostream &s, T &&v) { 
	for (auto &&x : v) s << x << ' '; 
	return s; 
}

#ifdef LOCAL
template<class... T> void dbg(T... x) {
	char e{};
	((cerr << e << x, e = ' '), ...);
}
#define debug(x...) dbg(#x, '=', x, '\n')
#else
#define debug(...) ((void)0)
#endif

#define all(v) (v).begin(), (v).end()
#define rall(v) (v).rbegin(), (v).rend()
#define ff first
#define ss second

template<class T> inline constexpr T inf = numeric_limits<T>::max() / 2;
bool chmin(auto &a, auto b) { return (b < a and (a = b, true)); }
bool chmax(auto &a, auto b) { return (a < b and (a = b, true)); }

using u32 = unsigned int;
using i64 = long long;
using u64 = unsigned long long;
using i128 = __int128;
using u128 = unsigned __int128;

constexpr i64 mod = 998244353;

void solve() {
	int n;
	cin >> n;

	vector<int> A(n);
	cin >> A;

	vector<int> U;
	auto cal = [&](int a, int b) {
		for (int x : {a, b, (a | b), (a ^ b), (a & b), 
			((a | b) ^ a), ((a | b) ^ b), ((a & b) ^ a), ((a & b) ^ b)}) {
			U.push_back(x);
		}
	};

	for (int i = 0; i + 1 < n; i++) {
		cal(A[i], A[i + 1]);
	}

	sort(all(U));
	U.erase(unique(all(U)), U.end());

	cout << U.size() << '\n';
}

signed main() {
	cin.tie(0)->sync_with_stdio(0);
	cin.exceptions(cin.failbit);

	int t = 1;
	// cin >> t;

	while (t--) {
		solve();
	}

	return 0;
}

详细

Test #1:

score: 100
Accepted
time: 0ms
memory: 3712kb

input:

2
2 3

output:

4

result:

ok single line: '4'

Test #2:

score: 0
Accepted
time: 0ms
memory: 3712kb

input:

2
3 4

output:

4

result:

ok single line: '4'

Test #3:

score: -100
Wrong Answer
time: 1ms
memory: 3712kb

input:

2
3 5

output:

7

result:

wrong answer 1st lines differ - expected: '8', found: '7'