tjut 5400
来源:互联网 发布:python tkiner 编辑:程序博客网 时间:2024/04/30 05:41
//一个序列,两个公差d1,d2 //问有多少个区间使得这个区间存在一个点,它的左边是公差为d1的序列 //它的右边是公差为d2的序列 //直接存入每个点向左和向右延伸的公差长度,乘一下就行 //还有就是注意一下d1=d2的情况 #include<cstdio> #include<cstring> #include<iostream> using namespace std ; const int maxn = 1e5+10 ; int a[maxn] ; typedef long long ll ; ll l[maxn] , r[maxn] ; int main() { int n , d1 , d2 ; while(~scanf("%d%d%d" ,&n , &d1 , &d2)) { for(int i = 1;i <= n;i++) scanf("%d" , &a[i]) ; ll ans = 0 ; if(d1 == d2) { ll sum = 1; for(int i = 2;i <= n;i++) if(a[i] == a[i-1] + d1) sum++ ; else { ans += (sum+1)*sum/2 ; sum = 1 ; } ans += (sum+1)*sum/2 ; } else { l[0] = 0 ;r[n+1] = 0 ; for(int i = 1;i <= n;i++) if(a[i] == a[i-1] + d1) l[i] = l[i-1] + 1 ; else l[i] = 1 ; for(int i = n;i >= 1;i--) if(a[i] == a[i+1] - d2) r[i] = r[i+1] + 1 ; else r[i] = 1 ; for(int i = 1;i <= n;i++) ans += l[i]*r[i] ; } printf("%lld\n" , ans) ; } return 0 ; }
0 0
- tjut 5400
- tjut 5289
- tjut 5288
- tjut 5294
- tjut 2586
- tjut 5296
- tjut 5297
- tjut 5299
- tjut 5384
- tjut 5387
- tjut 5386
- tjut 5381
- tjut 5399
- tjut 5396
- tjut 5398
- tjut 5412
- tjut 5410
- tjut 5416
- UVA-10970 Big Chocolate
- 【CF 666B】World Tour
- 冒泡排序的优化方法
- 有关 phpmyadmin登陆中遇到The requested URL /phpmyadmin was not found on this server的解决方法
- 杭电-1070-Milk (结构体+sort)
- tjut 5400
- 关于事件总线EventBus的使用
- USB WIFI 腾达811M无线网卡 -RT5370移植
- 多项式求和 hd 2011
- neural-networks-and-deep-learning mnist_average_darkness.py
- Memory leak in Windows 8.1 with Killer E2200 and Windows Network Data Usage Monitoring
- UVA-621 Secret Research
- UVA - 748 Exponentiation
- UVA11988 模拟题,水