权威题解|枚举
2025-10-08 20:52:50
发布于:上海
5阅读
0回复
0点赞
这个就叫做无脑
#include<iostream>
using namespace std;
int main() {
int n;
cin >> n;
int arr[2500];
for(int i = 0; i < n; i++) {
cin >> arr[i];
}
int base = 0;
for(int i = 0; i < n; i++) {
if(arr[i] == 1) base++;
}
int max_gain = 0;
for(int i = 0; i < n; i++) {
int zeros = 0, ones = 0;
for(int j = i; j < n; j++) {
if(arr[j] == 0) zeros++;
else ones++;
int gain = zeros - ones;
if(gain > max_gain) {
max_gain = gain;
}
}
}
if(max_gain>0)cout << base + max_gain ;
else cout<<base-1;
}
注意:题目要求必须要进行一次操作
所以当序列全为一时输出要减1;
这里空空如也







有帮助,赞一个