Pagini recente » Cod sursa (job #2219861) | Cod sursa (job #832861) | Cod sursa (job #654675) | Cod sursa (job #770358) | Cod sursa (job #1505589)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("emm.in");
ofstream fout ("emm.out");
typedef long long int var;
stack < var > val;
stack < char > semn;
string s;
inline void calcul()
{
char x = semn.top(); semn.pop();
var a = val.top(); val.pop();
var b = val.top(); val.pop();
if(x == 'm')
val.push(min(a,b));
else
val.push(max(a,b));
}
inline var eval()
{
var x;
for(int i = 0; i < s.size(); i++){
if(s[i] == '('){
semn.push(s[i]);
} else {
if(s[i] == ')'){
while(semn.top() != '(')
calcul();
semn.pop();
}
if(!isdigit(s[i]))
semn.push(s[i]);
else{
x = 0;
for(; isdigit(s[i]) ; i++)
x = x * 10 + (s[i] - '0');
val.push(x);
i--;
}
}
}
while(semn.size() > 1)
calcul();
return val.top();
}
int main()
{
fin >> s;
semn.push('$');
fout << eval();
return 0;
}