社区讨论
80分,求条,很急!!!
P14075[GESP202509 六级] 划分字符串参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mmh3bo1r
- 此快照首次捕获于
- 2026/03/08 09:45 前天
- 此快照最后确认于
- 2026/03/08 14:56 前天
CPP
#include <bits/stdc++.h>
using namespace std;
struct WAT
{
long long q,w;
};
bool as[26];
int main()
{
long long n;
string s;
cin >> n >> s;
vector<WAT> a(n+1);
for(int i=1;i<=n;i++)
{
cin >> a[i].q;
a[i].w=i;
if(i!=1&&a[i].q<a[i-1].q*(i/a[i-1].w))
{
a[i].q=a[i-1].q;
a[i].w=a[i-1].w;
}
}
s=s+s[s.size()-1];
long long ans=0;
string sa="";
for(int i=0;i<s.size();i++)
{
if(!as[int(s[i]-'a')])
{
sa=sa+s[i];
as[int(s[i]-'a')]=true;
}
else
{
memset(as,false,sizeof(as));
long long qw=sa.size();
while(qw>0)
{
ans=ans+a[qw].q*(qw/a[qw].w);
qw=qw%a[qw].w;
}
sa=s[i];
}
}
cout << ans;
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...