Cod sursa(job #2145140)

Utilizator vladstanciuVlad Stanciu vladstanciu Data 27 februarie 2018 09:51:34
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>

using namespace std;
ifstream fin("emm.in");
ofstream fout("emm.out");
int p;
char s[100001];
int expresie();
int factor();
int expresie()
{
    int val=factor();
    while (s[p]=='M' || s[p]=='m')
    {
        if (s[p]=='m')
        {
            p++;
            val=min(val,factor());
        }
        else
        {
            p++;
            val=max(val,factor());
        }
    }
    return val;
}
int factor()
{
    int val=0;
    while (s[p]=='(')
    {
        p++;
        val=expresie();
        p++;
        return val;
    }
    while (s[p]>='0' && s[p]<='9')
    {
        val=val*10+s[p]-'0';
        p++;
    }
    return val;
}
int main()
{
    fin.getline(s,100001);
    fout<<expresie();
    return 0;
}