交互求和
You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.
交互题通用说明
每输出一行内容后,都必须输出一个换行符。
每次进行操作后,你的程序都必须刷新(flush)标准输出。
如果你使用:
- C++ 中的
cout << ... << endl - Python 中的
print
那么标准输出会被自动刷新,无需额外操作。
如果你使用其他方式输出数据,则需要手动刷新标准输出。注意,即使你刷新了输出,也必须输出换行符。
手动刷新输出可以使用:
- C / C++:
fflush(stdout) - Python:
sys.stdout.flush()
交互题中的常见错误
-
Wrong Answer:表示你的最终答案或中间操作有误,或者输出格式不正确。需要注意,交互题中不存在Presentation Error:无论是答案本身错误,还是输出格式错误,都会得到Wrong Answer。 -
Idleness Limit Exceeded:表示你的程序正在等待输入,但此时实际上没有输入可供读取。例如:- 你的程序正在等待输入,但实际上此时应该继续输出信息或直接结束;
- 你的程序正在等待输入,但之前输出后没有刷新标准输出,或者没有输出换行符,因此评测程序不知道它应该继续进行交互。
-
Runtime Error:通常与交互题本身没有特殊关系,一般是程序中的普通运行时错误。
题目描述
这是一道交互题。你的程序将通过标准输入和标准输出与评测程序交互。
你的程序需要从标准输入中逐个读取整数。每读到一个数,就输出截至当前已读取的所有数之和。读到 时,仍需输出当前的和,然后立即结束程序。
交互协议
评测程序会逐个向你的程序发送非负整数 ()。在收到每个整数后,你必须向标准输出输出一个整数,表示目前收到的所有整数之和。
当收到的整数为 时,输出对应的和后,你的程序必须终止。你的程序总共会收到至多 个整数。
每次输出后必须输出换行符并立即刷新标准输出,否则评测程序可能无法继续交互。
交互示例
下面的两个区块分别展示评测程序依次发送的数和选手程序依次输出的数;实际运行时,这些输入与输出会交替发生。
1
2
3
4
5
0
1
3
6
10
15
15
参考实现
#include <bits/stdc++.h>
#define pb push_back
#define fi first
#define sc second
#define ll long long
using namespace std;
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
ll x = 0, s = 0;
while (1)
{
cin >> x;
s += x;
cout << s << endl;
if (!x) break;
}
return 0;
}
2026新生赛热身赛
- Status
- Done
- Rule
- XCPC
- Problem
- 9
- Start at
- 2026-8-29 10:45
- End at
- 2026-9-13 10:45
- Duration
- 360 hour(s)
- Host
- Partic.
- 50