結果
問題 | No.193 筒の数式 |
ユーザー | alpha_virginis |
提出日時 | 2015-04-26 22:31:57 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 847 bytes |
コンパイル時間 | 1,234 ms |
コンパイル使用メモリ | 159,624 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-07-05 03:01:19 |
合計ジャッジ時間 | 1,875 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 16 |
ソースコード
#include <bits/stdc++.h> int main() { std::string str; int num = 0; int temp = 0; int N; char ope; int ans; ans = -1000000000; std::cin >> str; N = str.size(); for(int i = 0; i < N; ++i) { if(str[i] == '+' or str[i] == '-' ) continue; if(str[(i+N-1)%N] == '+' or str[(i+N-1)%N] == '-' ) continue; ope = 0; num = 0; temp = 0; for(int j = i; j < i+N; ++j) { if( str[j%N] == '+' or str[j%N] == '-' ) { if( ope == 0 ) { temp += num; } if( ope == '+' ) { temp += num; } if( ope == '-' ) { temp -= num; } num = 0; ope = str[j%N]; } else { num *= 10; num += str[j%N]-'0'; } } if( ope == '+' ) { temp += num; } if( ope == '-' ) { temp -= num; } ans = std::max(ans, temp); } std::cout << ans << std::endl; return 0; }