結果
| 問題 | No.825 賢いお買い物 | 
| コンテスト | |
| ユーザー |  mzkr | 
| 提出日時 | 2019-05-06 05:09:20 | 
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 3 ms / 2,000 ms | 
| コード長 | 696 bytes | 
| コンパイル時間 | 641 ms | 
| コンパイル使用メモリ | 67,092 KB | 
| 最終ジャッジ日時 | 2025-01-07 03:39:37 | 
| ジャッジサーバーID (参考情報) | judge1 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 19 | 
ソースコード
#include <iostream>
using namespace std;
int solve(int a, int b, int c) {
  if (a+b<c && b == 0) return -1;
  if (a + b < c) {
    int k = c - a - b;
    int l = k / 9 + 1;
    a += 10 * l;
    b -= l;
    int m = (a - (c-b)) / 10;
    int n = a - 10*m;
    int o = n - (c - b - m);
    if (o < 10 * (l - 1)) {
      return -1;
    }
    return n - (c - b - m);
  }
  else if (b >= c) return 10 * (b-c) + a;
  else {
    int k = (a - (c-b)) / 10;
    int l = a - 10*k;
    return l - (c - b - k);
  }
}
int main() {
  int a, b, c;
  int answer = 0;
  cin >> a >> b >> c;
  answer = solve(a, b, c);
  if (answer <= 0) cout << "Impossible" << endl;
  else cout << answer  << endl;
  return 0;
}
            
            
            
        