結果
問題 | No.193 筒の数式 |
ユーザー |
![]() |
提出日時 | 2015-07-23 23:43:08 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 583 bytes |
コンパイル時間 | 661 ms |
コンパイル使用メモリ | 59,868 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-08 12:38:10 |
合計ジャッジ時間 | 1,484 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 16 |
ソースコード
#include<iostream> #include<string> #include<algorithm> using namespace std; int main() { string s; cin >> s; s += '='; int ans = -(1 << 30); //-1e15 for (int j = 0; j<s.size() - 1; j++) { rotate(s.begin(), s.begin() + 1, s.end() - 1); if (!isdigit(s[0]) || !isdigit(s[s.size() - 2])) continue; int sum = 0, d = 0, p = 1; for (int i = 0; i<s.size(); i++){ if (isdigit(s[i])){ d *= 10; d += s[i] - '0'; } else{ sum += d*p; d = 0; if (s[i] == '-') p = -1; else p = 1; } } ans = max(ans, sum); } cout << ans << endl; return 0; }