C为什么就卡在72%了啊

#include"bits/stdc++.h"

using namespace std;

#define int long long

const int N=1e6+10;

int a[N],b[N],c[N];

vector<int>q0a,q1a,q0b,q1b;

void solve()

{

int n,x,y;

cin>>n>>x>>y;

for(int i=1;i<=n;i++){

char xx;cin>>xx;

a[i]=xx-'0';

}

for(int i=1;i<=n;i++){

char xx;cin>>xx;

b[i]=xx-'0';

}

for(int i=1;i<=n;i++){

char xx;cin>>xx;

c[i]=xx-'0';

}

for(int i=1;i<=n;i++){

if((a[i]+b[i])%2!=c[i]&&a[i]==0)q0a.push_back(i);

if((a[i]+b[i])%2!=c[i]&&a[i]==1)q1a.push_back(i);

if((a[i]+b[i])%2!=c[i]&&b[i]==0)q0b.push_back(i);

if((a[i]+b[i])%2!=c[i]&&b[i]==1)q1b.push_back(i);

}

int w1=q0a.size(),w2=q1a.size();

int u1=q0b.size(),u2=q1b.size();

if(x*2<=y)return cout<<(w1+w2)*x<<'\n',void();

int t=abs(w1-w2),t1=abs(u1-u2);

cout<<min(t*x+min(w1,w2)*y,t1*x+min(u1,u2)*y)<<'\n';

// cout<<t*x+(max(w1,w2)-t)*y;

}

signed main()

{

ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);

int t=1;

// cin>>t;

while(t--)solve();

return 0;

}

全部评论
28 5 6 0001111100000001111111111111 0001111111111110000000000000 1111111100000000000000000000 可以试一试这组数据
点赞 回复 分享
发布于 02-11 13:44 上海
同卡
点赞 回复 分享
发布于 02-10 01:13 河南
+1
点赞 回复 分享
发布于 02-09 19:57 内蒙古
我也是,啥原因找到了吗
点赞 回复 分享
发布于 02-08 18:25 江西
我也是卡在72.73这里
点赞 回复 分享
发布于 02-08 18:21 河南
同C卡72
点赞 回复 分享
发布于 02-08 18:21 河南
qwq
点赞 回复 分享
发布于 02-08 18:15 重庆

相关推荐

流浪的神仙:无恶意,算法一般好像都得9硕才能干算法太卷啦
点赞 评论 收藏
分享
牛客38347925...:9,2学生暑期实习失利开始投小厂,给这群人整自信了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务