NC222482. [USACODec2020B]DaisyChains
描述
输入描述
The first line of input contains N. The second line contains N space-separated integers p1…pN.
输出描述
Please print out the number of photos that have an average flower.
示例1
输入:
4 1 1 2 3
输出:
6
说明:
Every picture containing just a single flower contributes to the count (there are four of these in the example). Also, the (i,j) ranges (1,2) and (2,4) in this example correspond to pictures that have an average flower.C++ 解法, 执行用时: 3ms, 内存消耗: 524K, 提交时间: 2021-12-04 10:56:38
#include <bits/stdc++.h> using namespace std; const int maxn = 110,maxp = 1e3 + 10; int n,sum,ans; int a[maxn],num[maxp]; void solve(){ for(int i = 1;i <= n;i++){ sum = 0; memset(num,0,sizeof(num)); for(int j = i;j <= n;j++){ sum += a[j]; num[a[j]]++; if(sum % (j - i + 1) == 0 && num[sum / (j - i + 1)]) ans++; } } } int main(){ scanf("%d",&n); for(int i = 1;i <= n;i++) scanf("%d",&a[i]); solve(); printf("%d",ans); return 0; }