codeforces 567C Geometric Progression
来源:互联网 发布:js点击事件写法 编辑:程序博客网 时间:2024/05/18 04:49
Polycarp loves geometric progressions very much. Since he was only three years old, he loves only the progressions of length three. He also has a favorite integer k and a sequence a, consisting of n integers.
He wants to know how many subsequences of length three can be selected from a, so that they form a geometric progression with common ratio k.
A subsequence of length three is a combination of three such indexes i1, i2, i3, that 1 ≤ i1 < i2 < i3 ≤ n. That is, a subsequence of length three are such groups of three elements that are not necessarily consecutive in the sequence, but their indexes are strictly increasing.
A geometric progression with common ratio k is a sequence of numbers of the form b·k0, b·k1, ..., b·kr - 1.
Polycarp is only three years old, so he can not calculate this number himself. Help him to do it.
The first line of the input contains two integers, n and k (1 ≤ n, k ≤ 2·105), showing how many numbers Polycarp's sequence has and his favorite number.
The second line contains n integers a1, a2, ..., an ( - 109 ≤ ai ≤ 109) — elements of the sequence.
Output a single number — the number of ways to choose a subsequence of length three, such that it forms a geometric progression with a common ratio k.
5 21 1 2 2 4
4
3 11 1 1
1
10 31 2 6 2 3 6 9 18 3 9
6
学习前几名简短的代码:
#include<cstdio>#include<algorithm>#include<map>#include<string>#include<iostream>#include<vector>using namespace std;map<int, long long> A, B;int main(){ int n, k; scanf("%d%d", &n, &k); long long ans = 0; for(int i = 0; i < n; i++) { int x; scanf("%d", &x); if(x % (k * k) == 0) ans += B[x / k]; if(x % k == 0) B[x] += A[x / k]; A[x]++; } printf("%I64d\n", ans); return 0;}
- codeforces(567C)-- Geometric Progression
- codeforces 567C Geometric Progression
- Codeforces 567C Geometric Progression
- CodeForces 567C Geometric Progression
- CodeForces 567C Geometric Progression
- codeforces#314C&567C Geometric Progression
- codeforces 567C Geometric Progression (map维护)
- Codeforces 567C Geometric Progression (离散 + DP)
- CodeForces 567C Geometric Progression【思维+map】
- CodeForces #Pi C.Geometric Progression
- codeforces 567E C. Geometric Progression(dp+STL)
- CodeForces 567C. Geometric Progression(map 数学啊)
- CodeForces 567C. - Geometric Progression(解题报告)
- CF-567C - Geometric Progression
- CF 567C. Geometric Progression
- codeforce 567c Geometric Progression(map)
- CF 567C(Geometric Progression-map)
- Codeforces Round #Pi (Div. 2)567C Geometric Progression(map暴力)
- vb.net SplitContainer控件增加自动拆分的小箭头
- JSP中利用JFreechart生成图表
- hdu2955 dp
- 【随想_1】重新面临抉择
- 图结构练习——最小生成树
- codeforces 567C Geometric Progression
- 需要这样一个记事本-14 ReportViewer在多页报表情况下,每页都显示表格列表头
- Android布局之 android:gravity和android:layout_gravity区别与联系
- gcc 使用
- Windows的CMD窗口EDKII编译基础
- 默认选中ext:GridPanel第一行数据
- centos 配置本地yum源
- Power Strings
- JNI调用遇到的问题