您的位置:首页 > 编程语言 > C语言/C++

CODE[VS] 1098 均分纸牌

2016-03-17 20:01 696 查看
题目链接:

CODE[VS] 1098 均分纸牌





思路:

去年做的,现在想多了,从左向右遍历一次,少了跟右边的要,多了给右边,不管正负直接a[i+1] += a[i]-ave;到最后肯定平了

/*********************************************************
> File Name: 1098_t.cpp
> Author: dulun
> Mail: dulun@xiyoulinux.org
> Created Time: 2016年03月17日 星期四 15时14分31秒
********************************************/

#include<iostream>
#include<stdio.h>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#define LL long long
using namespace std;

const int N = 50086;
int a
;

int main()
{
int n;
scanf("%d", &n);
int sum = 0;
for(int i = 0; i < n; i++)
{
scanf("%d", &a[i]);
sum+=a[i];
}

int ave = sum / n;
int ans = 0;
for(int i = 0; i < n; i++)
{
if(a[i] != ave)
{
ans++;
a[i+1] += a[i] - ave;
}
}
printf("%d\n", ans);

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言