結果

問題 No.3157 Nabeatsu
ユーザー AS0505
提出日時 2025-05-23 20:40:04
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 1,138 bytes
コンパイル時間 2,042 ms
コンパイル使用メモリ 193,384 KB
実行使用メモリ 7,844 KB
最終ジャッジ日時 2025-05-23 20:40:13
合計ジャッジ時間 4,560 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1 WA * 2
other AC * 33 WA * 12
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<bits/stdc++.h>
using namespace std;
int ctoi(char c) {
	if (c >= '0' && c <= '9') {
		return c - '0';
	}
	return 0;
}
int main() {
  string N;
  cin >> N;
  int64_t length = N.size();
  int64_t sum = 0;
  for(int i = 0; i < length; i++){
    if(N.at(i) == '3'){
      N.at(i) = '2';
      for(int j = i+1; j < length; j++){
        N.at(j) = '9';
      }
      sum += 2;
      sum += 9 * (length - i - 1);
      break;
    }
    char c = N.at(i);
    int a = ctoi(c);
    sum += a;
  }
  if(sum % 3 != 0){
    for(int i = 0; i < length; i++){
      cout << N.at(i);
    }
    cout << endl;
    return 0;
  }
  if(sum % 3 == 0){
    int aa = ctoi(N.at(length-1));
    aa--;
    N.at(length-1) = aa + '0';
    bool keta = true;
    int i = length - 2;
    while(keta){
      if(N.at(i) != '0'){
        int bb = ctoi(N.at(i));
        bb--;
        N.at(i) = bb + '0';
        keta = false;
      }
      if(N.at(i) == '0'){
        int cc = ctoi(N.at(i));
        cc--;
        N.at(i) = cc + '0';
        i--;
      }
    }
    for(int i = 0; i < length; i++){
      cout << N.at(i);
    }  
    cout << endl;
    return 0;
  }
}
0