数学の部分を乗り越えることが難しいかもしれない。
問題概要
人 が、一対一の勝敗のつくゲームを何度か行った。
人の最初の持ち点は 0 点である。
各ゲームでは勝者の持ち点が 1 増え、敗者の持ち点が 1 減る。(持ち点が負になることもある)。
最終的に人 の持ち点が
であるとき、人
の持ち点を求めよ。
制約
考えたこと
サンプルを見ながら予想してもいいし、ちゃんと証明してもよい。注目したいことは、
どんなに勝負を繰り返しても、 人全員の持ち点の総和は 0 のまま変わらない
ということだ。よって、
であるから、
と求められる。
コード
#include <bits/stdc++.h> using namespace std; int main() { int N; cin >> N; long long res = 0; for (int i = 0;i< N - 1; ++i) { long long a; cin >> a; res += a; } cout << -res << endl; }