제출 #1305361

#제출 시각아이디문제언어결과실행 시간메모리
1305361TaxiradioLottery (CEOI18_lot)C++20
80 / 100
3092 ms976 KiB
#include <bits/stdc++.h>
using namespace std;
vector<int> a;
int n , l; 

vector<int> u;

void get(int k , int d){
    vector<int> p(n+1 , 0);
    for(int i = d; i < n; i++){
        if(a[i]==a[i-d])continue;
        p[max(i-l+1 , d)]++;
        p[i+1]--;
    }
    int s = 0;
    for(int i = d; i < n-l+1; i++){
        s += p[i];
        if(s <= k){
            u[i]++;
            u[i-d]++;
        }
    }
}

int32_t main() {
    cin >> n >> l;
    for(int i = 0; i < n; i++){
        int b; cin >> b;
        a.push_back(b);
    }
    int q; cin >> q;
    while(q--){
        int x; cin >> x;
        u.assign(n , 0);
        for(int i = 1; i < n; i++)get(x , i);
        for(int i = 0; i < n-l+1; i++)cout << u[i] << " ";
        cout << "\n";
    }
}
#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...