結果
問題 | No.193 筒の数式 |
ユーザー | fiord |
提出日時 | 2015-05-22 22:38:39 |
言語 | C++11 (gcc 11.4.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 927 bytes |
コンパイル時間 | 503 ms |
コンパイル使用メモリ | 59,648 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-07-06 05:14:43 |
合計ジャッジ時間 | 1,226 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 1 ms
6,812 KB |
testcase_01 | AC | 2 ms
6,940 KB |
testcase_02 | AC | 2 ms
6,940 KB |
testcase_03 | AC | 2 ms
6,940 KB |
testcase_04 | AC | 2 ms
6,940 KB |
testcase_05 | AC | 2 ms
6,940 KB |
testcase_06 | AC | 2 ms
6,940 KB |
testcase_07 | WA | - |
testcase_08 | AC | 2 ms
6,940 KB |
testcase_09 | AC | 1 ms
6,940 KB |
testcase_10 | AC | 2 ms
6,944 KB |
testcase_11 | AC | 1 ms
6,940 KB |
testcase_12 | AC | 1 ms
6,940 KB |
testcase_13 | AC | 1 ms
6,944 KB |
testcase_14 | AC | 1 ms
6,940 KB |
testcase_15 | AC | 2 ms
6,940 KB |
testcase_16 | AC | 2 ms
6,940 KB |
testcase_17 | WA | - |
testcase_18 | AC | 1 ms
6,940 KB |
ソースコード
#include <iostream> #include <string> #include <algorithm> #include <cstdlib> using namespace std; string s; int calc(){ if(s[(int)s.size()-1]=='+'||s[(int)s.size()-1]=='-') return -1*(1<<25); if(s[0]=='+'||s[0]=='-') return -1*(1<<25); int ans=0; int temp=0; string num; bool pl=true; for(int i=0;i<(int)s.size();i++){ if(s[i]=='+'){ if(pl) ans+=temp; else ans-=temp; pl=true; temp=0; } else if(s[i]=='-'){ if(pl) ans+=temp; else ans-=temp; pl=false; temp=0; } else{ num=s[i]; temp=temp*10+atoi(num.c_str()); } } if(pl) ans+=temp; else ans-=temp; return ans; } int main(){ cin>>s; string temp; while(s[1]!='+'&&s[1]!='-'){ temp=s[0]; s.erase(s.begin()); s=s+temp; } int ans=calc(); do{ temp=s[s.size()-1]; s.erase(s.end()-1); s=temp+s; ans=max(ans,calc()); }while(s[(int)s.size()-1]!='+'&&s[(int)s.size()-1]!='-'); cout<<ans<<endl; return 0; }