题解

cmy2013  •  1个月前


#include<bits/stdc++.h>
#include<queue>
using namespace std;
long long n,x,y,a[210],ans=0;
priority_queue<int> q;
int main()
{
	cin>>n>>x>>y;
	if(n>=y)
	{
		cout<<y;
		return 0;
	}
	for(int i=1;i<=y;i++) cin>>a[i];
	sort(a+1,a+1+y);
	for(int i=2;i<=y;i++) q.push(a[i]-a[i-1]-1);
	for(int i=1;i<n;i++)
	{
		a[y]-=q.top();
		q.pop();
	}
	cout<<a[y]-(a[1]-0-1);
	return 0;
}

评论:

include <bits/stdc++.h>

using namespace std; const int N=1e7+10; const int INF=0x3f3f3f3f; int a[500],w,n,ans; char s[500]; int main() {

while(cin>>w>>s>>n)
{
	int len=strlen(s),p=0;
	for(int i=len-1;i>=0;i--)
	{
		if(s[i]<='z' && s[i]>='a')
		{
			ans+=(s[i]-'a'+10)*pow(w,p);
		}	
		else if(s[i]<='Z' && s[i]>='A')
		{
			ans+=(s[i]-'A'+10)*pow(w,p);
		}
		else if(s[i]<='9' && s[i]>='0')
		{
			ans+=(s[i]-'0')*pow(w,p);
		}
		p++;
	}
	int l=0;
	while(ans!=0)
	{
		a[++l]=ans%n;
		ans/=n;
	}
	for(int i=l;i>=1;i--)
	{
		if(a[i]>=10)
		{
			char hhh='A';
			hhh+=a[i]-10;
			cout<<hhh;
		}
		else
		{	
			cout<<a[i];
		}
	}
	cout<<endl;
}
return 0;

}


林麒瑞  •  29天前