五彩斑斓求救
  • 板块灌水区
  • 楼主Mason123456
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/11/11 09:04
  • 上次更新2023/11/11 11:04:44
查看原帖
五彩斑斓求救
883803
Mason123456楼主2023/11/11 09:04

传送门 我的代码:

#include <bits/stdc++.h>
using namespace std;
const int N = 5000005;
int n;
int m[N];
int s[N];
bool check(){
	for(int i = 1;i < n;i++){
		if(s[i] > s[i+1])	{
			return false;
		}
	}
	
	return true;
} 
int main(){
	cin>>n;
	for(int i = 1;i <= n;i++){
		cin>>m[i];
	}
	int ans = 0;
	for(int i = 0;i <= m[1] * 2;i++){
		memset(s,0,sizeof(s));
		s[1] = i;
		
		for(int j = 2;j <= n + 1;j++){
			s[j] = m[j-1] * 2 - s[j-1];
		}
		if(check()){
			ans++;
		}
	}
	for(int i = -1;i >= m[1] * -2;i--){
		memset(s,0,sizeof(s));
		s[1] = i;
		
		for(int j = 2;j <= n + 1;j++){
			s[j] = m[j-1] * 2 - s[j-1];
		}
		if(check()){
			ans++;
		}
		else{
			break;
		}
	}
	cout<<ans;
}

暴力甚至有WA,求大佬改代码%%

2023/11/11 09:04
加载中...