Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
49174 | 海码哥 | 202406BCSP-X-初中组01 | C++ | 解答错误 | 50 MS | 1032 KB | 886 | 2024-06-26 11:58:06 |
#include<bits/stdc++.h> using namespace std; bool zhi(long long int x,long long int y) { for(int i=2;i<=min(x,y);i++) { if(x%i==0&&y%i==0) return true; } return false; } int main() { int n; long long int arr[100005]={},sum=0,ans=0,cnt=1; cin>>n; for(int i=1;i<=n;i++) cin>>arr[i]; if(n<=2) { cout<<1; return 0; } for(int i=2;i<=n;i++) { cnt=i; sum=max(arr[i],arr[i-1])-min(arr[i],arr[i-1]); if(sum<2) ans++; else break; } for(int i=cnt+1;i<=n;i++) { long long int sum2=max(arr[i],arr[i-1])-min(arr[i],arr[i-1]); if(!zhi(sum,sum2)) { if(i==n) ans++; ans++; for(int j=i+1;j<=n;j++) { cnt=j; sum=max(arr[j],arr[j-1])-min(arr[j],arr[j-1]); if(sum<2) ans++; else break; } } else if(i==n&&zhi(sum,sum2)) ans++; } cout<<ans; return 0; }