Submission #1213930

#TimeUsernameProblemLanguageResultExecution timeMemory
1213930semiautoLottery (CEOI18_lot)C++20
45 / 100
116 ms131072 KiB
#include <bits/stdc++.h> using namespace std; int go[10005][10005]; int main() { int n, l; cin >> n >> l; int a[n]; for (int i = 0; i < n; i++) { cin >> a[i]; } for (int i = n - 1; i >= 0; i--) { for (int j = n - 1; j >= i; j--) { go[i][j] = go[i + 1][j + 1]; if (a[i] != a[j]) { go[i][j]++; } } } vector <int> v[n - l + 1]; for (int i = 0; i <= n - l; i++) { for (int j = 0; j <= n - l; j++) { if (i == j) { continue; } v[i].push_back(go[min(i, j)][max(i, j)] - go[min(i, j) + l][max(i, j) + l]); } sort(v[i].begin(), v[i].end()); } int q; cin >> q; while (q--) { int k; cin >> k; for (int i = 0; i <= n - l; i++) { int ind = upper_bound(v[i].begin(), v[i].end(), k) - v[i].begin(); cout << ind << " "; } cout << "\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...