题目
某街道两侧分别种了一排树木,并按如下编号
1 3 5 7 9 ... 45 47 49... 99
2 4 6 8 10 ... 46 48 50 ... 100
输入:第一行一个整数N
第二行N个整数,表示被砍去的树的编号
输出描述:M和X,表示从第M棵树开始,共有连续的X棵大树
样例输入
5
9 15 27 35 6样例输出
8 47
Java 用例63+
public static void main(String[] sb)
{
int[] r={1};
int n=r.length;
int[] tree=new int[101];
for(int i=1;i<101;i++)
{
tree[i]=1;
}
for(int i=0;i<n;i++)
{
tree[r[i]]=0;
}
int max=0;
int start=0;
int label;
int x=0;
int flag=0;
for(int i=1;i<=99;i=i+2)
{
if(tree[i]==0)
{
start=0;
x=i;
continue;
}
start++;
if(start>max) {
x=i;
max = start;
}
}
start=0;
for(int i=2;i<=100;i=i+2)
{
if(tree[i]==0)
{
start=0;
x=i;
continue;
}
start++;
if(start>max) {
x=i;
max = start;
}
}
if(x%2==0)
System.out.println(max-1+" "+(x-(max-2)*2));
else
System.out.println(max+" "+(x-(max-1)*2));
}