【AtCoder】ABC 467 B - Keep the Change

B - Keep the Change
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
AtCoder
実行時間制限: 2 sec / メモリ制限: 1024 MiB / Difficulty: 39 / NoviSteps: 7Q / 配点: 200 点
問題概要
高橋君は 軒の店で買い物をした。
はじめ、高橋君は 円持っており、 軒目の店では 円の商品を買って 円支払った。
そして、 keepの時、高橋君はお釣りを受け取らず、 takeの場合、お釣りを受け取った。
高橋君が全ての店でお釣りを受け取っていた場合に比べて損した金額を求めよ。 厳密に述べると、
- 高橋君の最終的な所持金を 円、
- 高橋君が全ての店でお釣りを受け取っていた場合の最終的な所持金を 円
とした時、 を求めよ。
制約
- は全て整数
考察
問題文の指示通りに、 から始めて、各店での買い物結果をシミュレーションすればよい。
実装例
CPP
1.#include <bits/stdc++.h>2.using namespace std;3. 4.#define rep(i, start, end) for (auto i = (start); (i) < (end); (i)++)5. 6.// ======================================== //7. 8.int main()9.{10. int N;11. cin >> N;12. 13. int X = 10000, Y = 10000;14. rep(i, 0, N) {15. int A, B;16. string S;17. cin >> A >> B >> S;18. 19. if (S == "keep") {20. X -= B;21. }22. else {23. X -= A;24. }25. 26. Y -= A;27. }28. 29. cout << Y - X << endl;30. 31. return 0;32.}https://atcoder.jp/contests/abc467/submissions/77576110
atcoder.jp
実装時間: 5 分以内
コメント
なんか AWC みたいな設定の凝り方だった。





