結果
問題 | No.193 筒の数式 |
ユーザー | kongarishisyamo |
提出日時 | 2016-05-09 16:30:40 |
言語 | C++11 (gcc 11.4.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 1,102 bytes |
コンパイル時間 | 476 ms |
コンパイル使用メモリ | 58,240 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-04-15 14:55:41 |
合計ジャッジ時間 | 1,204 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 2 ms
6,816 KB |
testcase_01 | AC | 2 ms
6,944 KB |
testcase_02 | AC | 1 ms
6,944 KB |
testcase_03 | AC | 1 ms
6,940 KB |
testcase_04 | AC | 2 ms
6,940 KB |
testcase_05 | AC | 1 ms
6,940 KB |
testcase_06 | AC | 1 ms
6,940 KB |
testcase_07 | AC | 1 ms
6,940 KB |
testcase_08 | AC | 2 ms
6,944 KB |
testcase_09 | AC | 2 ms
6,940 KB |
testcase_10 | AC | 1 ms
6,944 KB |
testcase_11 | AC | 1 ms
6,940 KB |
testcase_12 | AC | 2 ms
6,940 KB |
testcase_13 | AC | 2 ms
6,940 KB |
testcase_14 | AC | 2 ms
6,940 KB |
testcase_15 | AC | 2 ms
6,940 KB |
testcase_16 | AC | 1 ms
6,940 KB |
testcase_17 | AC | 1 ms
6,940 KB |
testcase_18 | AC | 1 ms
6,944 KB |
ソースコード
#include<iostream> #include<string> #include<cstdio> using namespace std; long long calc(string s){ if (s[0] == '-' || s[0] == '+' || s[s.size() - 1] == '-' || s[s.size() - 1] == '+') return -10000000000; for (int i = 0; i < s.size() - 1; i++){ if (s[i] == '+' || s[i] == '-'){ if (s[i + 1] == '+' || s[i + 1] == '-') return -10000000000; } } string c=""; int i; for (i = 0;; i++){ if (s[i] == '+' || s[i] == '-') break; else c += s[i]; } long long ans = atol(c.c_str()); char e = s[i]; c = ""; for (; i < s.size(); i++){ if (s[i] == '+' || s[i] == '-'){ if (e == '+') ans += atol(c.c_str()); else ans -= atol(c.c_str()); c = ""; e = s[i]; } else c += s[i]; } if (e == '+') ans += atol(c.c_str()); else ans -= atol(c.c_str()); return ans; } int main(){ string s; cin >> s; long long ans = -10000000000; string s2 = s; while (1){ long long t = calc(s2); if (t > ans) ans = t; char tc = s2[s2.size() - 1]; for (int i = s2.size() - 1; i >= 1; i--){ s2[i] = s2[i - 1]; } s2[0] = tc; if (s == s2) break; } cout << ans << endl; }