제출 #362199

#제출 시각아이디문제언어결과실행 시간메모리
362199sumit_kk10Lottery (CEOI18_lot)C++14
45 / 100
437 ms65540 KiB
#include<bits/stdc++.h> #define fast ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); #define ll long long int using namespace std; const int MOD = 1e9 + 7; const int N = 1e4 + 5; vector<int> ans[N]; void solve() { int n, k; cin >> n >> k; int a[n]; for(int i = 0; i < n; ++i) cin >> a[i]; for(int i = 0; i <= n - k; ++i) { for (int j = i + 1; j <= n - k; ++j) { if (i == j) continue; int diff = 0; for (int e = 0; e < k; ++e) if (a[i + e] != a[j + e]) ++diff; ans[i].push_back(diff); ans[j].push_back(diff); } sort(ans[i].begin(), ans[i].end()); } cout << "\n"; int q; cin >> q; while(q--){ int dis; cin >> dis; for(int i = 0; i <= n - k; ++i){ int low = 0, high = ans[i].size() - 1, ok = -1; while(low <= high){ int mid = (low + high) / 2; if(ans[i][mid] <= dis){ ok = mid; low = mid + 1; } else high = mid - 1; } if(ok == -1) cout << "0 "; else cout << ok + 1 << " "; } cout << "\n"; } } int main() { fast; int t = 1; // cin >> t; while(t--) solve(); 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...