せかいの世界(備忘録)

音楽・ITに関する色々なものを触ってみたり、競プロの記録を残したりします。

DDCC2020_qual D - Digit Sum Replace

問題

atcoder.jp

解法

  • 各桁をどの順番で足し合わせても答えは変わらない
  • 桁を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;
}