如题,蒟蒻写完之后发现是有明显的错误性的:
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define maxn 300005
int m, s, t;
int f[maxn];
signed main() {
cin >> m >> s >> t;
for (int i = 1; i <= t; i++) f[i] = f[i - 1] + 17;
for (int i = 1; i <= t; i++) {
if (m >= 10) f[i] = f[i - 1] + 60, m -= 10;
else if (f[i - 1] > f[i]) m += 4, f[i] = f[i - 1];
if (f[i] > s) {
cout << "YES" << endl << i << endl;
return 0;
}
}
cout << "NO" << endl << f[t] << endl;
return 0;
}
应该怎么改呢?