Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
34411 | hi_hi | 【S】T1 | C++ | 通过 | 100 | 300 MS | 27588 KB | 809 | 2024-11-07 18:43:16 |
#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; }