Submission #1182491

#TimeUsernameProblemLanguageResultExecution timeMemory
1182491_unknown_2010Binaria (CCO23_day1problem1)C++20
6 / 25
0 ms328 KiB
#ifndef LOCAL
#pragma GCC optimize ("Ofast")
#pragma GCC optimize ("unroll-loops")
#endif

#include <bits/stdc++.h>
// #include <ext/pb_ds/assoc_container.hpp>
// #include <ext/pb_ds/tree_policy.hpp>
using namespace std;
// using namespace __gnu_pbds;
// template<typename T> using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
// template<typename T> using indexed_multiset = tree<T, null_type, less_equal<T>, rb_tree_tag, tree_order_statistics_node_update>;
#define int int64_t
#define vi vector
// #define ss second
// #define ff first
// #define TESTCASES
// #define all(x) (x).begin(), (x).end()
const int mod = 1E9+7;
const int MAXN=200000;
const int inf=1e18;

void solution(){
    int n,k;
    cin >> n >> k;
    vi<int> a(n-k+1);
    int sum=0;
    for(auto &x:a)cin >> x;
    for(int i=0; i<(1<<n); i++){
        bool ok=1;
        int c=0;
        vi<int> b(n+1);
        for(int j=0; j<n; j++){
            if(((1<<j)&i))c+=1,b[j]+=1;
            if(j+1<k)continue;
            if(j>=k)c-=b[j-k];
            if(a[j-k+1]!=c){
                ok=0;
                break;
            }
        }
        sum+=ok;
    }
    cout << sum;
}
int32_t main(){
    clock_t tStart = clock();
    #ifdef khos
        freopen("input.txt", "r", stdin);
        freopen("output.txt", "w", stdout);
    #endif
    std::ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    int q = 1;
    // #ifdef TESTCASES
        // cin >> q;
    // #endif
    while(q--) {
        solution();
        cout << '\n';
    }
    cerr<<fixed<<setprecision(3)<<"\nTime Taken: "<<(double)(clock()- tStart)/CLOCKS_PER_SEC<<endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...