牛客小白月赛94
A.map的简单应用
点击查看代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n=9;
map<int,int> s1;
for(int i=1;i<=n;i++)
{
int x;
cin>>x;
s1[i]=x;
}
string s;
cin>>s;
for(int i=0;i<s.length();i++)
{
int c=s[i]-'0';
cout<<s1[c];
}
}
B.一个简单的思维问题
点击查看代码
#include<bits/stdc++.h>
#define int long long
const int N=2e5+10;
using namespace std;
int a[N];
signed main()
{
bool flag=false;
int n;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
if(n==1)
{
cout<<0;
return 0;
}
else{
for(int i=1;i<n;i++)
{
if(a[i]<a[i-1])
{
flag=1;
break;
}
}
}
if(flag)
{
cout<<n;
return 0;
}
else{
cout<<0;
return 0;
}
}
c.数组的前缀和与后缀和极差
点击查看代码
#include<bits/stdc++.h>
using namespace std;
const int N=2e5;
int b[N],a[N];
int main()
{
int n; cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
b[i]=b[i-1]+a[i];
}
int maxn=0;
for(int i=1;i<n;i++){
maxn=max(maxn,max(b[i]-a[i+1],b[n]-b[i]-a[i]));
}
cout<<maxn<<endl;
}
D.数论问题

浙公网安备 33010602011771号