寝癖頭の解法

学習中の覚え書きを投稿、更新していきます。

Aizu Online Judge in C #Volume3_0382 Cake Party

Aizu Online Judge(AOJ)の過去問から、その提出コードの解答例です。

・問題
 私の誕生日にケーキパーティーをすることにしました。
 パーティには私と友人が参加します。
 何人かの友人は、ケーキを数切れずつ買ってきました。
 しかし、ケーキの数の合計が、参加者の数でぴったり割りきれるかはわかりません。
 ケーキを皆でできるだけ平等に分けたいので、次のようにルールを決めました。
 ケーキはまず皆が同じ数になるように分けます。
 その結果余りが出た場合は、パーティの主役である私が優先的に一切れもらうことにします。
 私は何切れのケーキをもらえるでしょうか?
 友人の数とケーキの情報が与えられたとき、私がもらえるケーキの数を求めるプログラムを作成せよ。
 ただし、友人の数には私自身が入っていないことに注意せよ。

・入力される値
 入力は以下の形式で与えられる。
f:id:neguse_atama:20200503111500p:plain
 1行目にパーティに参加している友人の数N (1≤N≤100)とケーキを持ってきた友人の数C (1≤C≤N)が与えられる。
 続く1行に、ケーキを持ってきた友人のうち、i番目の友人が持ってきたケーキの数 pi (1≤pi≤100) が与えられる。

・期待する出力
 私がもらえるケーキの数を1行に出力する。

僕が作成、提出したコードは、以下のとおりです。

/*
 Volume3_0382 Cake Party
 http://judge.u-aizu.ac.jp/
 提出コードの解答例
 https://neguse-atama.hatenablog.com
*/
#include<stdio.h>
int main(void){
    int n,c;
    scanf("%d %d",&n,&c);
    int all=0;
    for(int i=0;i<c;i++){
        int bring;
        scanf("%d",&bring);
        all+=bring;
    }
    n+=1;
    int ans=all/n;
    if(all%n==0){
        printf("%d\n",ans);
    }else{
        printf("%d\n",ans+1);
    }
    return 0;
}

設問の出典は、プログラミング問題のオンライン採点システム「Aizu Online Judge(AOJ)」です。
http://judge.u-aizu.ac.jp/onlinejudge/
Volume3_0382 Cake Party