1374C - Move Brackets - CodeForces Solution


greedy strings *1000

Please click on ads to support us..

Python Code:

for _ in range(int(input())):
    a = int(input())
    b = input()
    
    count = 0
    count1 = 0
    
    for i in range(0,a):
        if b[i]=="(":
            count += 1

            
        else:
            count -= 1
            if count < 0:
                count = 0
                count1 += 1
    print(count1)

C++ Code:

#include <bits/stdc++.h>
#define nmod(a, n) (a % n + n) % n
#define fastio                        \
    ios_base::sync_with_stdio(false); \
    cin.tie(0);
#define inF freopen("input.txt", "r", stdin);
#define outF freopen("output.txt", "w", stdout);
#define sortv(v) sort(v.begin(), v.end());
#define sortvr(v) sort(v.begin(), v.end(),greater<int>());
#define rev(v) reverse(v.begin(), v.end());
#define pb push_back
#define all(a) a.begin(), a.end()
#define vi vector<int>
#define vii vector<vector<int>>
#define ll long long
const double pi = acos(-1), eps = 1e-9;
template <typename T>
std::ostream &operator<<(std::ostream &os, const std::vector<T> &s)
{
    for (auto const &i : s)
        os << i << " ";
    return os;
}
template <typename T>
std::istream &operator>>(std::istream &is, std::vector<T> &s)
{
    for (int i = 0; i < s.size(); i++)
        is >> s[i];
    return is;
}
using namespace std;
const int INF = 1e9;


void solve(){
    int n;
    cin >> n ;
    stack<char> st ;
    for(int i = 0 ; i < n ; i ++ ){
        char x; 
        cin >> x ;
        if(!st.empty())
            if(st.top() == '(' && x == ')'){
                st.pop();
                continue;
            }
        st.push(x);

    }
    cout << st.size()/2 << endl;
}


int main()
{
    fastio;
    int t;
    cin >> t;
    while (t--)
        solve();
}


Comments

Submit
0 Comments
More Questions

1671C - Dolce Vita
1669G - Fall Down
4D - Mysterious Present
1316B - String Modification
1204A - BowWow and the Timetable
508B - Anton and currency you all know
1672A - Log Chopping
300A - Array
48D - Permutations
677C - Vanya and Label
1583B - Omkar and Heavenly Tree
1703C - Cypher
1511C - Yet Another Card Deck
1698A - XOR Mixup
1702E - Split Into Two Sets
1703B - ICPC Balloons
1702F - Equate Multisets
1700A - Optimal Path
665C - Simple Strings
1708A - Difference Operations
1703E - Mirror Grid
1042A - Benches
1676B - Equal Candies
1705B - Mark the Dust Sweeper
1711A - Perfect Permutation
1701B - Permutation
1692A - Marathon
1066A - Vova and Train
169B - Replacing Digits
171D - Broken checker