DDCC2020_qual D - Digit Sum Replace
問題
解法
- 各桁をどの順番で足し合わせても答えは変わらない
- 桁を2つ選んで足し合わせたとき、繰り上がりが起きない場合は桁が一つ減り、起きる場合は桁はそのままで桁和が9減る。
- 桁上がりが起きる回数は(桁和-1)/9回
コード
int main(){ int n; cin >> n; ll digit = 0, sum = 0; rep(i,n){ ll d,c; cin >> d >> c; digit+=c; sum+=d*c; } cout<<(sum-1)/9 + (digit-1)<<endl; }