第一个测试点总是WA,提示Too Short
查看原帖
第一个测试点总是WA,提示Too Short
439884
Leave旭日冬升楼主2021/9/2 23:20
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
 long long n;
 cin>>n;
 long long l=pow(2,n);
 long long a[l],c[l];
 for(long long i=1;i<=l;i++)
 {
 cin>>a[i];
 c[i]=a[i];
}
 long long b=0,i=1,d=l;
 while(d>2)
 {
 while(i<=d)
 {
 if(a[i]>a[i+1]) a[i-b]=a[i],b++;
 if(a[i]<a[i+1]) a[i-b]=a[i+1],b++;
 i+=2;
 }
 d=d/2;
 b=0;
 i=1;
}
if(a[2]>a[1]) 
{
 for(long long j=1;j<=l;j++)
 if(c[j]==a[1]) cout<<j;
}
else
{
 for(long long j=1;j<=l;j++)
 if(a[j]==c[2]) cout<<j;
}
 return 0;
}

方法比较笨。

2021/9/2 23:20
加载中...