题干
c++实现
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<vector>
using namespace std;void ShareCandy(vector<int>& student) {int size = student.size();vector<int> share(size); //保存每个同学交换前,糖果数量的一半for (int i = 0; i < size; i++) {share[i] = student[i] / 2;}for (int i = 0; i < size; i++){student[i] -= share[i];student[(i + 1) % size] += share[i];}for (int i = 0; i < size; i++){if (student[i] % 2 == 1) {++student[i];}}
}bool CheckCandy(vector<int>& student) {int first = student[0];for (int i = 1; i < student.size(); ++i) {if (first != student[i]) {return false;}}return true;
}int main() {int N;while (scanf("%d", &N) != EOF) {if (N == 0) {break;}vector<int> student(N);for (int i = 0; i < N; i++) {scanf("%d", &student[i]);}int turn = 0;while (CheckCandy(student) == false) {ShareCandy(student);++turn;}printf("%d %d\n", turn, student[0]);}return 0;
}