取石!
水题。
思路
显然考虑
考虑
现在考虑
代码
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 7;
int n, a, b, x[N], res;
bool o;
int main() {
cin >> n >> a >> b;
for (int i = 1; i <= n; i ++)
cin >> x[i];
if (a == b) {
for (int i = 1; i <= n; i ++)
res ^= x[i] % (a + 1);
}
else if (a > b) {
bool o = 0;
for (int i = 1; i <= n; i ++)
res ^= x[i], o |= (x[i] > b);
if (o)
res = 1;
}
else {
int o = 0, num = 2e9;
for (int i = 1; i <= n; i ++) {
if (x[i] - a > a || (x[i] > a && o)) {
o = -1;
break;
}
else if (x[i] > a)
o = 1, num = x[i];
res ^= x[i];
}
if (o == -1)
res = 0;
else if (o == 1) {
res ^= num;
if (num - a <= res && res <= a)
res = 1;
else
res = 0;
}
}
cout << (res ? "Petyr" : "Varys");
return 0;
}