点击跳转例题
思路:
使得项数最大,所以a[1]首相,a[n]为末项即可。
#include <bits/stdc++.h> #define int long long //(有超时风险) #define PII pair<int,int> #define endl '\n' #define LL __int128 using namespace std; const int N=2e5+10,M=1e3+10,mod=998244353,INF=0x3f3f3f3f; int a[N],b[N],c[N],pre[N]; signed main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); int n;cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; sort(a+1,a+n+1); int sub=1e9; for(int i=2;i<=n;i++) { sub=min(sub,a[i]-a[i-1]); } if(sub==0) cout<<n<<endl; else cout<<(a[n]-a[1])/sub+1; return 0; }
P8682 [蓝桥杯 2019 省 B] 等差数列--2024蓝桥杯冲刺省一
最新推荐文章于 2024-09-10 15:28:21 发布