关于“第七和弦”……
然而,伟大的奶牛作曲家哞扎特曾经发现,一个特定的和弦会让奶牛听了后生病。
这个和弦被称为反刍动物的第七和弦,通常不会在奶牛音乐中出现。
哞扎特
关于“第七和弦”的判定,就是说先把这一段排序,并且算出每个音符与第一个音符之间相差多少距离。
那么就可以直接暴力到原来的曲子中判断了。
#include <bits/stdc++.h>
using namespace std;
int n, k, ans = 0, Ans[20010];
int a[20010], c[20], b[20];
int main() {
scanf("%d", &n);
for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
scanf("%d", &k);
for (int i = 1; i <= k; i++) scanf("%d", &c[i]);
sort(c + 1, c + 1 + k);
for (int i = 1; i <= k; i++) b[i] = c[i] - c[1];
for (int i = 1; i <= n - k + 1; i++) {
int p[20], top = 0;
for (int j = i; j <= i + k - 1; j++) p[++top] = a[j];
sort(p + 1, p + k + 1);
bool f = true;
for (int j = 1; j <= k; j++) if (p[j] - p[1] != b[j]) {f = 0; break;}
if (f) Ans[++ans] = i;
} printf("%d\n", ans);
for (int i = 1; i <= ans; i++) printf("%d\n", Ans[i]);
return 0;
}