Submission #870828

#TimeUsernameProblemLanguageResultExecution timeMemory
870828Darren0724Lottery (CEOI18_lot)C++17
45 / 100
42 ms65536 KiB
#include <bits/stdc++.h> using namespace std; #define LCBorz \ ios_base::sync_with_stdio(false); \ cin.tie(0); #define int long long #define all(x) x.begin(), x.end() #define x first #define y second #define endl '\n' const int N=100005; const int INF=1e18; int32_t main() { LCBorz; int n,k;cin>>n>>k; vector<int> v(n); for(int i=0;i<n;i++){ cin>>v[i]; } int ans[n+1][n+1]{}; for(int i=1;i<n;i++){ vector<int> a; //a.push_back(0); for(int j=0;j+i<n;j++){ a.push_back(v[j]!=v[i+j]); } int sz=a.size(); if(sz<k){ continue; } int cnt=0; for(int j=0;j<k;j++){ cnt+=a[j]; } //cout<<0<<' '<<i<<' '<<cnt<<endl; ans[0][cnt]++; ans[i][cnt]++; for(int j=k;j<sz;j++){ cnt-=a[j-k]; cnt+=a[j]; ans[j+1-k][cnt]++; ans[i+j+1-k][cnt]++; //cout<<j+1-k<<' '<<i+j+1-k<<' '<<cnt<<endl; } } for(int i=0;i<n;i++){ for(int j=1;j<=n;j++){ ans[i][j]+=ans[i][j-1]; //cout<< } } int q;cin>>q; for(int i=0;i<q;i++){ int p;cin>>p; for(int j=0;j<n-k+1;j++){ cout<<ans[j][p]<<' '; } cout<<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...