Codeforces Round 916 (Div. 3)

Problem - A - Codeforces

#include<bits/stdc++.h>
using namespace std;
 
void solve()
{
	map<int,int> mp;
	int n;
	string s;
	cin>>n>>s;
	for(int i=0;i<s.size();i++)
	{
		mp[s[i]]++;
	}
	int num=0;
	for(int i='A';i<='Z';i++)
	{
		if(mp[i]+'A'-1>=i) num++;
	}
	cout<<num<<endl;
}
 
signed main()
{
	int t=1;
	cin>>t;
	while(t--) solve();
}

#include<bits/stdc++.h>
using namespace std;
 
void solve()
{
	int n,k;
	cin>>n>>k;
	for(int i=1;i<=k;i++) cout<<i<<" ";
	for(int i=n;i>k;i--) cout<<i<<" ";
	cout<<endl;
}
 
signed main()
{
	int t=1;
	cin>>t;
	while(t--) solve();
}

#include<bits/stdc++.h>
using namespace std;
const int N=2e5+10;
int s[N];
int n,k;
 
void solve()
{
	int maxx=0;
	int n,k;
	cin>>n>>k;
	int a[n+1]={0},b[n+1]={0};
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
		s[i]=s[i-1]+a[i];
	}
	for(int i=1;i<=n;i++)
	{
		cin>>b[i];
		b[i]=max(b[i],b[i-1]);
	}
	for(int i=1;i<=min(n,k);i++)
	{
		//cout<<"# i = " << i << ", " <<maxx<<endl;
		maxx=max(maxx,s[i]+(k-i)*b[i]);
	}
	cout<<maxx<<endl;
}
 
signed main()
{
	int t=1;
	cin>>t;
	while(t--) solve();
}

 

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=1e5+10;
 
struct st{
	int m;
	int d;
}a[N],b[N],c[N];
 
bool cmp(st a,st b)
{
	return a.m>b.m;
}
 
void solve()
{
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i].m;
		a[i].d=i;
	}
	for(int i=1;i<=n;i++)
	{
		cin>>b[i].m;
		b[i].d=i;
	}
	for(int i=1;i<=n;i++)
	{
		cin>>c[i].m;
		c[i].d=i;
	}
	sort(a+1,a+1+n,cmp);
	sort(b+1,b+1+n,cmp);
	sort(c+1,c+1+n,cmp);
	int maxx=0;
	for(int i=1;i<=3;i++)
	{
		for(int j=1;j<=3;j++)
		{
			for(int k=1;k<=3;k++)
			{
				if(a[i].d!=b[j].d && a[i].d!=c[k].d && b[j].d!=c[k].d)
				{
					maxx=max(maxx,a[i].m+b[j].m+c[k].m);
				}
			}
		}
	}
	cout<<maxx<<endl;
}
 
signed main()
{
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	int t=1;
	cin>>t;
	while(t--) solve();
}

 

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=2e5+10;
 
struct st{
	int sum;
	int a,b;
}s[N];
 
bool cmp(st a,st b)
{
	return a.sum>b.sum;
}
 
void solve()
{
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>s[i].a;
	}
	for(int i=1;i<=n;i++)
	{
		cin>>s[i].b;
		s[i].sum=s[i].a+s[i].b;
	}
	sort(s+1,s+1+n,cmp);
	int ss=0;
	for(int i=1;i<=n;i++)
	{
		if(i&1) ss+=s[i].a-1;
		else ss-=s[i].b-1;
	}
	cout<<ss<<endl;
}
 
signed main()
{
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	int t=1;
	cin>>t;
	while(t--) solve();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值