rt,蒟蒻前几天交了一份代码,用一遍循环搞定的,样例也全过了,不过 WA 在测试点 #16 了。
Record.
Code:
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
typedef long long ll;
const int MAXN=1e6+10;
const int MOD=1e9+7;
using namespace std;
ll a[MAXN];
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
ll n;
cin>>n;
ll x;
bool res=0;
for(ll i=1;i<=n;i++){
cin>>a[i];
if(i==2){
x=a[2]-a[1];
if(n==2){
cout<<a[2]+a[2]-a[1]<<"\n";
return 0;
}
}
if(i>=2&&i<=n&&a[i]-a[i-1]!=x){
res=1;
break;
}
}
if(res==0){
cout<<a[n]+x<<"\n";
}
else{
cout<<a[n]<<"\n";
}
return 0;
}
而这样的代码就能 AC 了。
很好奇为什么第一版代码会错,或者有没有神犇能提供一组 hack 数据?感谢。