結果
| 問題 |
No.708 (+ー)の式
|
| コンテスト | |
| ユーザー |
dnish
|
| 提出日時 | 2018-06-29 23:46:59 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,110 bytes |
| コンパイル時間 | 1,560 ms |
| コンパイル使用メモリ | 167,636 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-07-01 00:25:55 |
| 合計ジャッジ時間 | 2,148 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 9 WA * 3 |
ソースコード
#include "bits/stdc++.h"
#define REP(i,n,N) for(ll i=(n); i<(N); i++)
#define RREP(i,n,N) for(ll i=(N-1); i>=n; i--)
#define CK(n,a,b) ((a)<=(n)&&(n)<(b))
#define ALL(v) (v).begin(),(v).end()
#define p(s) cout<<(s)<<endl
#define p2(a,b) cout<<(a)<<" "<<(b)<<endl
#define v2(T) vector<vector<T>>
#define S second
#define F first
typedef long long ll;
using namespace std;
const ll inf=1e18;
int main(){
string s;
while(cin>>s){
bool hugo=1;//1:+, 0:-
bool kakko=0;//1:(), 0:
ll ans=0;
REP(i,0,s.size()){
if(isdigit(s[i])){
if(hugo) ans+=(s[i]-'0');
else ans-=(s[i]-'0');
}else{
if(s[i]=='('){
kakko=1;
}else if(s[i]==')'){
kakko=0;
}else if(s[i]=='+'){
if(kakko&&!hugo) hugo=0;
else hugo=1;
}else if(s[i]=='-'){
if(kakko&&!hugo) hugo=1;
else hugo=0;
}
}
}
p(ans);
}
return 0;
}
dnish