社区讨论

为什么这个代码是对的

学术版参与者 8已保存回复 14

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
14 条
当前快照
1 份
快照标识符
@mhja36ec
此快照首次捕获于
2025/11/03 23:11
4 个月前
此快照最后确认于
2025/11/04 06:03
4 个月前
查看原帖
abc的C题,我在最后的17s莫名其妙的过了,但是不是很明白为什么这个写是对的。代码如下:
CPP
#include <iostream>
#define ll long long
#define endl "\n"
using namespace std;
const int N = 2e5 + 5;
int n, r, nxt, per, num0, num1, a[N];
int main()
{
    cin >> n >> r;
    for (int i = 1; i <= n; i++)
        cin >> a[i];
    nxt = 1, per = n;
    while (a[nxt] == 1 && nxt <= r)
        nxt++;
    while (a[per] == 1 && per > r)
        per--;
    for (int i = nxt; i <= per; i++)
        (a[i] ? num1 : num0)++;
    if (nxt == per)
        cout << 0 << endl;
    else
        cout << num0 + num1 * 2 << endl;
    return 0;
}

回复

14 条回复,欢迎继续交流。

正在加载回复...