[YDOI R1] Running 题解
subtask 1
一个超市,最大速度就是 。当然,如果 ,输出 -1 即可。
subtask 2
枚举速度,输出符合要求的最大答案即可。时间复杂度 ,其中 表示 的值域。
subtask 3
方法二中,有许多速度是明显无效的,因为他们可能连到达 的时间都不是。所以速度枚举变为枚举 的因数,时间复杂度 ,其中 表示因数个数。
subtask 4
要保证到达超市的时间为整数,且最大,可以推出 。
如果还要保证时间为偶数,则 要再乘上 。当然,如果 ,输出 -1 即可。
时间复杂度
#include<bits/stdc++.h>
#define int long long
using namespace std;
signed main()
{
int n,x,ans;
cin>>n>>ans;n--;
while(n--) cin>>x,ans=__gcd(ans,x);
if(ans%2) cout<<-1;
else cout<<ans/2;
return 0;
}

浙公网安备 33010602011771号