提交时间:2024-11-07 18:43:16
运行 ID: 34411
#include<bits/stdc++.h> using namespace std; long long n,s[1000006],r[1000006],t[1000006],sum,nc,cf[1000006]; string pk; int main(){ // freopen("poker.in","r",stdin); // freopen("poker.out","w",stdout); scanf("%lld",&n); cin>>pk; pk=" "+pk; for(int i=1;i<=n;i++){ scanf("%lld",&r[i]); } for(int i=1;i<=n;i++){ scanf("%lld",&t[i]); } for(int i=1;i<=n;i++){ nc+=cf[i]; if(nc%2==0){ if(pk[i]=='1'){ sum+=t[i]; nc++; cf[r[i]+1]++; } } else{ if(pk[i]=='0'){ sum+=t[i]; nc++; cf[r[i]+1]++; } } } printf("%lld",sum); return 0; }