Submission #1060290

#TimeUsernameProblemLanguageResultExecution timeMemory
1060290aymanrsSličnost (COI23_slicnost)C++17
24 / 100
3052 ms2392 KiB
#include<bits/stdc++.h>
using namespace std;
void ans(int n, int a[],int b[], int k){
    bool s[n+1] = {false};
    for(int i = 0;i < k;i++) s[a[i]] = true;
    int tans = -1, co = 0;
    for(int i = 0;i+k <= n;i++){
        if(i) {
            s[a[i-1]]=false;
            s[a[i+k-1]] = true;
        }
        int t = 0;
        for(int j = 0;j < k;j++) t += s[b[j]];
        if(t>tans){
            tans = t;co=1;
        } else if(t == tans) co++;
        for(int j = 1;j+k <= n;j++){
            t -= s[b[j-1]];
            t += s[b[j+k-1]];
            if(t>tans){
                tans = t;co=1;
            } else if(t == tans) co++;
        }
    }
    cout << tans << ' ' << co << '\n';
}
void solve(){
    int n, k ,q;cin >> n >> k >> q;
    int a[n],b[n];
    for(int i = 0;i < n;i++) cin >> a[i];
    for(int i = 0;i < n;i++) cin >> b[i];
    ans(n, a, b, k);
    while(q--){
        int p;cin >> p;
        p--;
        swap(a[p], a[p+1]);
        ans(n,a,b,k);
    }
}
int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    solve();
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...