题解:P15040 [UOI 2022 II Stage] 竞赛
太水了(那为什么写了20分钟)
题意
有
思路
- 输入。
- 因为可以第一或最后一分钟后来人,所以要加
1 分钟。 - 循环
t 分钟,如果人数大于m 人答案加上m 人,则去m 人,如果不足答案直接加上剩下的人。 - 输出答案。
代码
#include <bits/stdc++.h> #define N 10005 using namespace std; int n, m, w, t; int main() { freopen("input.txt", "r", stdin);//要注释掉,防抄 cin >> n >> m >> w >> t; t++; int l = 1, ans = 0; while (t >= 1) { l--, t--; if (l == 0) { if (n >= m) { ans += m; n -= m; } else { ans += n; n = 0; } l=w;//结束了加回来 } } cout << ans << endl;//完结!! return 0; }求过!