Submission #1251369

#TimeUsernameProblemLanguageResultExecution timeMemory
1251369minhpkLottery (CEOI18_lot)C++20
80 / 100
3092 ms736 KiB
#include <bits/stdc++.h>
using namespace std;

int main(){
    ios::sync_with_stdio(false);
    cin.tie(NULL);

    int a, b;
    cin >> a >> b;
    vector<int> z(a+1);
    for(int i = 1; i <= a; i++){
        cin >> z[i];
    }

    int Q;
    cin >> Q;
    int rows = a - b + 1;
    vector<int> ans(rows);

    while(Q--){
        int x;
        cin >> x;
        fill(ans.begin(), ans.end(), 0);

        for(int k = 1; k < rows; k++){
            int cur = 0;
            for(int j = 0; j < b; j++){
                if(z[1 + j] != z[1 + k + j])
                    cur++;
            }
            if(cur <= x){
                ans[0]++;
                ans[k]++;
            }
            for(int sta = 2; sta <= rows - k; sta++){
                int sta1 = sta + k;
                if(z[sta-1] != z[sta1-1]) cur--;
                if(z[sta + b - 1] != z[sta1 + b - 1]) cur++;
                if(cur <= x){
                    ans[sta-1]++;
                    ans[sta1-1]++;
                }
            }
        }

        for(int i = 0; i < rows; i++){
            cout << ans[i] << (i+1<rows?' ':'\n');
        }
    }

    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...