[BOJ/Python]13458号監査



この問題は1つの複文で簡単に解決できる.複文では,現在の試験場のbを取り除き,現在の試験場の学生数が0より大きく,試験場の学生数をcで割ると,シェアを結果変数に加算し,割らなければシェア+1を結果変数に加算する.
  • nと入力します.
  • 試験場の学生数リストを入力します.
  • b,cと入力します.
  • 結果変数の答えは0です.
  • n回繰り返したiに対してfor文を行う.
    ->student[i]からbを減算します.
    ->答えを1つ増やします.
    ->student[i]が0より大きい場合、
    -->student[i]をcで割った場合、
    ----->回答にstudent[i]//cを加えます.
    -->その他、
    ----->回答にstudent[i]//c+1を加えます.
  • の回答を印刷します.
  • Code

    n=int(input())
    student=list(map(int, input().split()))
    b, c=map(int, input().split())
    answer=0
    for i in range(n):
        student[i]-=b
        answer+=1
        if student[i]>0:
            if student[i]%c==0:
                answer+=student[i]//c
            else:
                answer+=student[i]//c+1
    print(answer)