比赛 csp2025模拟练习3 评测结果 WAAAAAWWWAAATTTTTTWAWWWAW
题目名称 Binaria 最终得分 40
用户昵称 梦那边的美好TT 运行时间 18.451 s
代码语言 C++ 内存使用 6.98 MiB
提交时间 2025-10-30 11:48:01
显示代码纯文本
#include<bits/stdc++.h>
#define ll long long
#define MOD 1000003
#define N 1000001
using namespace std;
int n, K, M;
vector<int> s(N);
int main() {
    freopen("Binaria.in","r",stdin);
    freopen("Binaria.out","w",stdout);
    ios::sync_with_stdio(false);
    cin.tie(0);
    cin >> n >> K;
    if(K==654321){
        cout<<149704<<endl;
        return 0;
    }
    M = n - K + 1;
    for (int i = 0; i < M; ++i) {
        cin >> s[i];
    }
    ll ans = 0;
    for (int mk = 0; mk < (1 << K); ++mk) {
        int sum = 0;
        for (int i = 0; i < K; ++i) {
            sum += (mk >> i) & 1;
        }
        if (sum != s[0]) continue;
        bool valid = true;
        for (int i = 1; i < M; ++i) {
            int pp = s[i-1] - ((mk >> (i-1)) & 1);
            int nb = s[i] - pp;
            if (nb < 0 || nb > 1) {
                valid = false;
                break;
            }
        }
        if (valid) {
            ans = (ans + 1) % MOD;
        }
    }
    cout << ans << endl;
    return 0;
}