제출 #77940

#제출 시각아이디문제언어결과실행 시간메모리
77940SaboonLottery (CEOI18_lot)C++14
45 / 100
633 ms9892 KiB
#include <iostream>
#include <queue>
#include <stack>
#include <cstdlib>
#include <vector>
#include <cstring>
#include <cmath>
#include <cassert>
#include <unordered_set>
#include <map>
#include <deque>
#include <unordered_map>
#include <fstream>
#include <set>
#include <algorithm>
#include <iomanip>
#define fin cin
#define fout cout
#define F first
#define S second
#define PB push_back
#define PF push_front
#define MP make_pair
using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair<ll,ll> pll;
typedef pair<int,int> pii;
typedef unsigned long long ull;

const int maxn = 2e3 + 10;

int n, l;

int a[maxn];

void compress () {
    vector <int> v;
    for (int i = 0; i < n; i++)
        v.PB (a[i]);
    sort (v.begin(), v.end());
    v.resize (unique (v.begin(), v.end()) - v.begin());
    for (int i = 0; i < n; i++)
        a[i] = lower_bound (v.begin(), v.end(), a[i]) - v.begin();
}

int similar (int fi, int se) {
    int ret = 0;
    for (int x = 0; x < l; x++)
        ret += (a[fi + x] != a[se + x]);
    return ret;
}

int d[maxn][maxn];

int main () {
    ios_base::sync_with_stdio(false);
    cin >> n >> l;
    for (int i = 0; i < n; i++)
        cin >> a[i];
    for (int i = 0; i < n - l + 1; i++) {
        for (int j = i + 1; j < n - l + 1; j++) {
            int x = similar (i, j);
            d[i][x] ++;
            d[j][x] ++;
        }
    }
    for (int i = 0; i < n - l + 1; i++) {
        for (int j = 0; j <= l; j++) {
            d[i][j + 1] += d[i][j];
        }
    }
    int q;
    cin >> q;
    for (int i = 0; i < q; i++) {
        int k;
        cin >> k;
        for (int j = 0; j < n - l + 1; j++)
            cout << d[j][k] << " ";
        cout << 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...