Pagini recente » Cod sursa (job #2960992) | Cod sursa (job #721881) | Cod sursa (job #2753927) | Cod sursa (job #2258253) | Cod sursa (job #1144853)
#include<cstdio>
#include<cstring>
FILE *f=fopen("emm.in", "r");
FILE *g=fopen("emm.out", "w");
int poz, n;
char s[100001];
int min(int a, int b){
if(a<b)
return a;
return b;
}
int termen();
int expresie(){
int rez=termen();
while(s[poz]=='m'||s[poz]=='M'&&poz<n){
char c=s[poz];
++poz;
int y=termen(), x=min(rez, y);
if(c=='m')
rez=x;
else
rez=rez+y-x;
}
return rez;
}
int termen(){
int val=0;
if(s[poz]=='('){
++poz;
val=expresie();
++poz;
return val;
}
int c=s[poz]-'0';
while(0<=c&&c<=9&&poz<n){
val=val*10+c;
++poz;
c=s[poz]-'0';
}
return val;
}
int main()
{
fscanf(f, "%s", s);
poz=0;
n=strlen(s);
fprintf(g, "%d", expresie());
return 0;
}