4494:[GESP202503 三级] 2025
文件提交:无需freopen
内存限制:128 MB
时间限制:1.000 S
评测方式:普通裁判
金币值:
命题人:
提交:1
解决:0
题目描述
## 题目背景
2025 年 03 月 GESP C++ 三级编程第 1 题
## 题目描述
小 A 有一个整数 $x$,他想找到最小的正整数 $y$ 使得下式成立:
$$(x \ \operatorname{and} \ y) + (x \ \operatorname{or} \ y) = 2025$$
其中 $\operatorname{and}$ 表示二进制按位与运算,$\operatorname{or}$ 表示二进制按位或运算。如果不存在满足条件的 $y$,则输出 $-1$。
## 输入格式
一行,一个整数 $x$。
## 输出格式
一行,一个整数,若满足条件的 $y$ 存在则输出 $y$,否则输出 $-1$。
## 样例
```input1
1025
```
```output1
1000
```
## 数据范围
对于所有测试点,保证 $0 \leq x < 2025$。
## 提示
$$(x \ \operatorname{and} \ y) + (x \ \operatorname{or} \ y) = 2025$$
其中:
- $\operatorname{and}$ 表示按位与运算,运算符为 $\&$。
- $\operatorname{or}$ 表示按位或运算,运算符为 $|$。