#include<stdio.h> #include<stdlib.h> #include<string.h> int i,j; int main() { int n,num[100005],l[100000],r[100000],sum[100005],le,ri,va; long long ans; while(scanf("%d",&n)!=EOF) { ans=0; for(i=1;i<=n;i++) scanf("%d",&num[i]); le=0; ri=n; //memset(l,0,sizeof(l)); //memset(r,0,sizeof(r)); for(i=1;i<=n;i++) { for(j=i-1;j>0;j--) { if(num[i]%num[j]==0) { //l[i]=j; le=j; break; } } for(j=i+1;j<=n;j++) { if(num[i]%num[j]==0) { //r[i]=j; ri=j; break; } } //sum[i]=(i-l[i])*((r[i]==0?n:r[i])-i); //ans+=(long long)sum[i]; va=(i-le)*(ri-i+1); ans=ans+(long long)va; } printf("%lld\n",ans%1000000007); } return 0; } |
Double click to view unformatted code.