Codeforces Round #294 (Div. 2) D题:A and B and Interesting

read more

代码:

#include<cstdio>#include<cstring>#include<algorithm>#include<vector>#include<queue>#include<string>#include<iostream>#include<map>using namespace std;typedef long long LL;typedef unsigned long long ULL;const int N=5+1e5;LL val[26],sum[N];string ss;vector<int> pos[26];int main(){//freopen("in.txt", "r", stdin);for(int i=0;i<26;i++)cin>>val[i];cin>>ss;int len=ss.length();sum[0]=val[ss[0]-'a'],pos[ss[0]-'a'].push_back(0);for(int i=1;i<len;i++){sum[i]=sum[i-1]+val[ss[i]-'a'];pos[ss[i]-'a'].push_back(i);}LL ans=0;for(int i=0;i<26;i++){map<LL ,int > mp;int sz=pos[i].size();for(int j=0;j<sz;j++){int p=pos[i][j];ans+=mp[sum[p-1]];mp[sum[p]]++;}}cout<<ans<<endl;return 0;}

,也站在未路让我牵挂的人。

Codeforces Round #294 (Div. 2) D题:A and B and Interesting

相关文章:

你感兴趣的文章:

标签云: