题解 AT4494 【Thumbnail】
ChungZH's blog · ChungZH's portfolio
Niwango-kun 是 Dwango Co.,Ltd. 的员工。 有一天,他被要求从用户提交的视频中生成缩略图。 要生成缩略图,他需要根据以下过程选择视频帧:
- 获取整数
N 和N 个整数a_0,a_1,...,a_{N-1} 作为输入。N 表示视频的帧数,每个a_i 表示视频的第i 帧的表示- 选择第
t 个帧,其表示a_t 最接近所有帧表示的平均值。如果有多个这样的帧,请选择索引最小的帧。
找到他应选择生成缩略图的帧的索引
t 。
简单地说就是求最接近
我们先求出它们的平均数,然后遍历
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
double ave;
int main() {
int n;
int a[103];
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
ave += a[i];
}
ave /= n;
int mini = 0;
for (int i = 1; i < n; i++) {
if (abs(a[i] - ave) < abs(a[mini] - ave)) mini = i;
}
cout << mini << endl;
return 0;
}