求助,为什么会 RE
查看原帖
求助,为什么会 RE
363036
chlchl楼主2022/9/4 21:27

md 这辈子就真的只能 RE 自动机了。

非正解,但是一分拿不到,只过了 33 个点。

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

const int N = 1e6 + 10;
int n, x, p, q, ans, now = 1, ts, t[N], sumt[N];

int main(){
	scanf("%d%d%d%d", &n, &x, &p, &q);
	for(int i=1;i<=n;i++)	scanf("%d", &sumt[i]), sumt[i] += sumt[i - 1];
	while(now < n + 1){
		++ans;//第 ans 天可以做什么
		int used = 0; double slp = 1.0 / q * ans * x * p;
		while(1){
			int tt = sumt[now] - sumt[now - 1];
			if(used + tt < x && 1.0 * (ts + x - (used + tt)) >= slp){
				++now, used += tt;
			}else	break;
		}
		ts += x - used;
	}
	printf("%d\n", ans);
	return 0;
}
2022/9/4 21:27
加载中...