比赛 |
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;
}