本题链接:小明放学
本博客给出本题截图:
C++
#include <iostream> #include <cstring> #include <algorithm> using namespace std; typedef long long LL; int main() { int r, y, g; cin >> r >> y >> g; int n; cin >> n; LL res = 0; while (n -- ) { LL k, t; cin >> k >> t; if (!k) res += t; else { if (k == 1) t = r - t; else if (k == 2) t = r + y + g - t; else t = r + g - t; t += res; t %= r + y + g; if (t < r) res += r - t; else if (t >= r + g) res += r + g + y - t + r; } } cout << res << endl; return 0; }
总结
注意本题极限数据:1e6 * 1e5
,会爆int
注意本题细节的处理(开闭区间)