为什么我的O(n) T了?
查看原帖
为什么我的O(n) T了?
1333063
All_Kill_IOI楼主2024/8/28 20:25

rt,理应来说可以为什么会T?大佬帮忙看看:

#include <bits/stdc++.h>
using namespace std;
#define int long long

int n, a[200100], ans;

main() {
	cin >> n;
	for (int i = 1; i <= n; i++)
		cin >> a[i];
	for (int i = 1; i <= n; i++) {
		int t = a[i] / 5, cnt = a[i] % 5;
		int x = a[i] %= 5;
		if (!cnt) {
			ans += t * 3;
			continue;
		}
		for (int t1 = ans % 3; x; ans++) {
			if (t1 == 0 || t1 == 1)
				x -= 1;
			else
				x -= 3;
		}
		ans += t * 3;
	}
	cout << ans << endl;
	return 0;
}
2024/8/28 20:25
加载中...