Acwing第 8 场周赛未完结
Posted 辉小歌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Acwing第 8 场周赛未完结相关的知识,希望对你有一定的参考价值。
3770. 最小消耗 【难度: 简单 / 知识点: 签到 贪心】
#include<bits/stdc++.h>
using namespace std;
int main(void)
{
int t; cin>>t;
while(t--)
{
int n,a,b,c; cin>>n>>a>>b>>c;
int A=0,B=0;
string s; cin>>s;
for(int i=0;i<s.size();i++)
if(s[i]=='0') A++;
else B++;
if(a+c<b) cout<<(A+B)*a+B*c<<endl; //换了更优
else if(b+c<a) cout<<b*(A+B)+A*c<<endl;
else cout<<A*a+B*b<<endl;
}
return 0;
}
3771. 选取石子 【难度: 一般 / 知识点: 哈希表】
#include<bits/stdc++.h>
using namespace std;
const int N=1e5*2+10;
int a[N];
map<int,long long int>mp;
int main(void)
{
int n; cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++) mp[a[i]-i]+=a[i];
long long int ans=0;
for(auto i=mp.begin();i!=mp.end();i++)
{
ans=max(ans,i->second);
}
cout<<ans<<endl;
return 0;
}
以上是关于Acwing第 8 场周赛未完结的主要内容,如果未能解决你的问题,请参考以下文章