Submission #1060190

#TimeUsernameProblemLanguageResultExecution timeMemory
1060190kachim2Lottery (CEOI18_lot)C++17
45 / 100
3025 ms860 KiB
#include <bits/stdc++.h> using namespace std; int main() { int l, n; cin >> n >> l; vector<int> a(n); vector<__int128_t> hashe(n-l+1); for(auto &i:a) cin >> i; __int128_t almoptrime = 1; almoptrime<<=126; almoptrime-=1; for(int i = 0; i < n-l+1; i++) { __int128_t has = 0; for(int llll = 0; llll < l; llll++) { has*=7935; has+=a[i+llll]; has%=almoptrime; } hashe[i]=has; } int q; cin >> q; while(q--) { int k; cin >> k; if(k==0){ for(int i = 0; i < n-l+1; i++) { int ans = 0; for(int j = 0; j < n-l+1; j++) { if (i==j) continue; if(hashe[i]==hashe[j]) ans++; } cout << ans << ' '; } cout << '\n'; } else{ for(int i = 0; i < n-l+1; i++) { int ans = 0; for(int j = 0; j < n-l+1; j++) { if (i==j) continue; int diff = 0; for(int llll = 0; llll < l; llll++) { diff+=a[i+llll]!=a[j+llll]; } if(diff<=k) ans++; } cout << ans << ' '; } 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...