Submission #918783

#TimeUsernameProblemLanguageResultExecution timeMemory
918783AbitoBinaria (CCO23_day1problem1)C++17
10 / 25
1020 ms18768 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #define F first #define S second #define pb push_back #define ppb pop_back #define ep insert #define endl '\n' #define elif else if #define pow pwr #define sqrt sqrtt #define int long long #define ll long long #define y1 YONE #define free freeee #define lcm llcm typedef unsigned long long ull; using namespace std; const int N=1e6+5,M=1e6+3; int a[N],n,k,b[N],p[N],ans; int32_t main(){ ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); cin>>n>>k; for (int i=1;i<=n-k+1;i++) cin>>b[i]; for (int mask=0;mask<(1<<k);mask++){ for (int j=1;j<=k;j++) a[j]=bool(mask&(1<<(j-1))),p[j]=p[j-1]+a[j]; for (int i=k+1;i<=n;i++){ p[i]=p[i-1]; int s=p[i]-p[i-k]; if (s<b[i-k+1]) p[i]++; } bool ok=true; for (int i=1;i<=n-k+1;i++) ok&=(p[i+k-1]-p[i-1]==b[i]); ans+=ok; }cout<<ans%M<<endl; return 0; }
#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...