比赛 EYOI与SBOI开学欢乐赛10th 评测结果 WWAWWAWWWW
题目名称 01串 最终得分 20
用户昵称 00000 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2022-10-10 19:58:35
显示代码纯文本
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,a[20000],b[20000],ad,nad,aa,bb;
char l;
ll ans;
int main(){
	freopen("zerone.in","r",stdin);
	freopen("zerone.out","w",stdout);
cin>>n>>ad>>nad;
for(int q=1;q<=n;q++)
{
	cin>>l;
	a[q]=l-48;
	if(a[q]) aa++;
} 
for(int q=1;q<=n;q++)
{
	cin>>l;
	b[q]=l-48;
	if(b[q]) bb++;
} 
if(aa!=bb)
{
	cout<<"-1";
	return 0;
}
if(ad>=nad)
{
	for(int q=1;q<=n;q++)
	{
		if(a[q])
		{
			if(!b[q]) ans++;
		}
	}
	cout<<ans*nad;
	return 0;
}
int mark[20000];
bb=0;
for(int q=1;q<=n;q++)
{
	if(b[q]) mark[++bb]=q;
}
aa=0;
for(int q=1;q<=n;q++)
{
	if(a[q])
	{
		aa++;
		ans+=abs(q-mark[aa]);
	}
}
cout<<ans*ad;
return 0;
}