第一の平均オペレータは、各スタックと平均との間のギャップを計算することができ、これらのギャップの値は、そこに次の要素に追加された場合、アレイトラバース小から大への別のアレイは、その値0を入れてありますその後、回数を追加します。これは、これらのアカウントのそれぞれに相当しますので、唯一の前方右側の配列への道は、関係なく、配布については移動する方法の平均よりも大きなヒープの、私はこのアイデアを知らない、内部ヒープの隣のヒープの点に注意してください。どのようなアイデアを数え、学習の価値ガバナンスの考え方を、減少させることができます
#include<stdio.h> int main(void){ int n; scanf("%d", &n); int heap[n]; int give[n]; int sum=0, avg; for(int i=0; i<n; i++) give[i] = 0; for(int i=0; i<n; i++){ scanf("%d", &heap[i]); sum += heap[i]; } avg = sum/n; for(int i=0; i<n; i++){ give[i] = heap[i] - avg; } int steps=0; for(int i=0; i<n-1; i++){ if(give[i] != 0){ give[i+1] += give[i]; steps++; } } printf("%d", steps); return 0; }