问题描述
在数据结构上机实验中,当你的程序运行时间过长,超出题目限定的时间,将得到“TimeLimit”错误。对题目设定合理的运行时间限制非常重要。
对于每道题目,都有一个由作者亲自编写的标准程序,称为“主标准程序”此外,还有一些可以通过该题的其他标准程序,称为“标准程序”。 假定一共有n个程序,编号为1至n。其中第1个程序为“主标准程序”,其余程序为“标准程序”。假定第i个程序的运行时间为ai秒。
朱老师准备按如下规则设定每道题目的运行时限x:
- 时限不能过于严格,即x≥3a1;
- “标准程序”必须都能通过,即x≥ai+1,(2≤i≤n);
- x须为满足上述条件的最小偶数。
请编写程序帮助朱老师计算每道题目的运行时间限制x。
输入格式:
本题包含多组测试数据,第一行为一个整数T (1 ≤ T ≤ 10),表示测试数据组数。对于每组测试数据,第一行为一个整数n (2 ≤ n ≤ 10),表示程序数目,第二行为n个整数表示程序的运行时间 a1,a2,...,an(1≤ai≤10)。
输出格式:
对于每组测试数据,输出一个整数x。
输入样例:
2
2
1 3
2
1 4
输出样例:
4
6
代码成品区[其实我也不知道到底为什么写成这样,好像跟运行超时完全没关系啊,但是按照题目要求就是这样]
#include<iostream>
using namespace std;
int main()
{
int t,i,j,n,x,temp,*a = new int[n];
cin>>t;
for(i=0;i<t;i++){
cin>>n;
for(j=0;j<n;j++){
cin>>x;
a[j]=x;
}
temp=3*a[0];
for(j=1;j<n;j++){
if(temp<=a[j]+1)
temp=a[j]+1;
}
if(temp%2==0)
cout<<temp<<endl;
else
cout<<temp+1<<endl;
}
return 0;
}