結果
問題 | No.193 筒の数式 |
ユーザー | sggkshio |
提出日時 | 2016-11-24 02:14:27 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 1,000 ms |
コード長 | 929 bytes |
コンパイル時間 | 748 ms |
コンパイル使用メモリ | 85,812 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-27 10:29:50 |
合計ジャッジ時間 | 1,476 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 16 |
ソースコード
#define _USE_MATH_DEFINES #include<stdio.h> #include<string> #include<iostream> #include<cctype> #include<cstdio> #include<vector> #include<stack> #include<queue> #include <algorithm> #include<math.h> #include<set> #include<map> #include<iomanip> //#include<bits/stdc++.h> using namespace std; int main() { string s; cin>>s; long long int n=-9999999999; for(int i=0;i<s.size();i++){ string x=s.substr(i,s.size()); string y=s.substr(0,i); string h=x+y; if(h[h.size()-1]=='+'|h[h.size()-1]=='-')continue; if(h[0]=='+'||h[0]=='-')continue; long long int a=0,b=0; vector<long long int>q,w; for(int j=0;j<h.size();j++){ if(h[j]=='+')w.push_back(1),q.push_back(a),a=0; else if(h[j]=='-')w.push_back(-1),q.push_back(a),a=0; else { a*=10;a+=h[j]-'0'; } } if(a)q.push_back(a); b=q[0]; for(int j=1;j<q.size();j++) b+=q[j]*w[j-1]; n=max(n,b); } cout<<n<<endl; return 0; }