卧槽,玄关
查看原帖
卧槽,玄关
989007
huangzhixia楼主2024/1/3 18:48

wa了一个点,好奇下载了数据,然后本地跑了一下,是0。

但谷上跑出来的是Impossible,有点奇怪。

代码:

 
#include <bits/stdc++.h>
typedef double db;
typedef long long ll;
typedef int I;
#define F1(i, k, n, u) for(I i = k; i <= n; i += u)
#define F2(i, n, k, u) for(I i = n; i >= k; i -= u)
#define sc scanf
#define pr printf
#define vd void
#define hh; puts("");
#define str string
#define wh while
using namespace std;

I n, a[1001], dp[1001];
ll s[1001];
bool ok = true;
                
int main(){
	sc("%d", &n);
	F1 (i, 1, n, 1) {
		sc("%d", &a[i]);   
		if (a[i] >= 0) 
			ok = false;
		s[i] = s[i - 1] + a[i];
	}
	if (ok) {
		pr("Impossible");
		hh;
		return 0;
	}
	F1 (i, 1, n, 1)
		if (s[i] >= 0)
			F1 (j, 0, i - 1, 1) 	
				if (s[i] - s[j] >= 0)
					dp[i] = max(dp[i], dp[j] + 1);
	pr("%d", dp[n]);
	hh;                     
 }

求大佬相助

2024/1/3 18:48
加载中...