| 比赛 | hs自测赛 | 评测结果 | AAAAAAAAAAAAAAAAAAAA | 
    | 题目名称 | Cowreography | 最终得分 | 100 | 
    | 用户昵称 | 梦那边的美好ET | 运行时间 | 0.304 s | 
    | 代码语言 | C++ | 内存使用 | 5.15 MiB | 
    | 提交时间 | 2025-01-15 16:47:35 | 
显示代码纯文本
#include<bits/stdc++.h>
#define maxn 1000010
#define ll long long
using namespace std;
int n,k,a1,a2;
ll ans;
char s[maxn],t[maxn];
set<pair<int,int> >a[2];
int main(){
    freopen("cowreography.in","r",stdin);        
    freopen("cowreography.out","w",stdout); 
    scanf("%d%d",&n,&k);
    scanf("%s",s+1);scanf("%s",t+1);
    for(int i=1;i<=n;i++){
    	if(s[i]==t[i])continue;
    	a1=s[i]-'0';a2=t[i]-'0';
    	if(a[a2].size()){
	        auto it=a[a2].lower_bound(make_pair(i%k,0));
	        if(it==a[a2].end())it=a[a2].begin();
	        ans+=(i-(it->second)+k-1)/k;
	        a[a2].erase(it);
		}
		else a[a1].insert(make_pair(i%k,i));
	}
	printf("%lld\n",ans);
    return 0;
}