Submission #77940

#TimeUsernameProblemLanguageResultExecution timeMemory
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...