⛴李恒旭⚔♆§ • 2个月前
using namespace std; int qp[1000003][4];
int main() {
int n, m;
cin >> n;
cin>>m;
memset(qp, 0x3f, sizeof qp);
qp[0][m + 1] = 0;
for (int i = 1; i <= n; i++) {
cin >> m;
qp[i][0] = qp[i - 1][0] + m + 1;
if (m == 0) {
qp[i][1] = min(qp[i - 1][1], qp[i - 1][0]);
} else if (m == 1) {
qp[i][1] = qp[i - 1][0] + 1;
}
if (m == 1) {
qp[i][2] = min(min(qp[i - 1][0], qp[i - 1][1]), qp[i - 1][2]);
} else {
qp[i][2] = qp[i - 1][2] + 1 - m;
}
}
int x = min(min(qp[n - 1][0], qp[n - 1][1]), qp[n - 1][2]);
if(x>2000000)
{
cout<<"BRAK";
}
else{
cout<<x;
}
return 0;
}
评论:
请先登录,才能进行评论