Cod sursa(job #2182082)
Utilizator | Data | 22 martie 2018 09:17:33 | |
---|---|---|---|
Problema | Hashuri | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include <fstream>
#include <stack>
using namespace std;
ifstream f("par.in");
ofstream g("par.out");
stack <int> stiva;
int n;
char c;
int main()
{
f >> n;
if (n % 2 == 1)
{
g << -1;
return 0;
}
int nr = 0;
while (f >> c)
{
if (c == '(')
stiva.push(1);
else
{
if (!stiva.empty())
stiva.pop();
else
{
nr++;
stiva.push(1);
}
}
}
nr = nr + stiva.size() / 2;
g << nr;
}