全国绿色计算大赛 预赛第二阶段(C++)第一关

第一关:

挑战任务

“绿盟杯”比赛过后,赛事承办方的各位工作人员们就开始分头统计各个参赛队伍和同学的成绩了。赛事规模很大,有10000个队伍参加。经过工作人员认真负责的统计,本来已经统计好了这一万个队伍的分数和排名,并按照排名从高到低依次进行了编号(从110000)但是由于一个非常偶然的因素,导致其中三个编号的数据丢失,而且剩余编号的顺序也全被打乱了。

你需要编写一个程序,根据还保留的统计数据,来判断哪些编号的数据丢失了,并将这些编号按照从小到大的顺序重新拼接为一个新数字,然后计算这个新数字除以11的余数。如丢失了编号为41、17、25的数据,则最后你需要返回的结果是172541除以11的余数。

编程要求

补全右侧代码区中的getLostScores(int num[])函数,找出丢失的三个编号并按指定格式返回一个新数字除以11的余数。函数参数说明如下:

int nums[] 剩余的被打乱顺序的编号

测试说明

样例1:
输入:
除15、48、56外的其余9997个数组成的乱序数组

输出:
9

样例2:
输入:
除22、76、83外的其余9997个数组成的乱序数组

输出:
5

int getBestTeams(int n,int a[],int kk, int d){
			/*********begin*********/
			long long f[55][15][2];
			long long ans=0;
			for(int i=1;i<=n;i++){
				f[i][1][0]=f[i][1][1]=a[i];
				for(int j=2;j<=kk;++j){
					for(int k=i-1;k>=max(i-d,1);--k){
						f[i][j][0]=max(f[i][j][0],max(f[k][j-1][0]*a[i],f[k][j-1][1]*a[i]));
						f[i][j][1]=min(f[i][j][1],min(f[k][j-1][0]*a[i],f[k][j-1][1]*a[i]));
					}
				}
				ans=max(ans,max(f[i][kk][0],f[i][kk][1]));
			}
			return ans;
	
			/*********end*********/
		}		

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值